1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
|
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r23691 -->
<chapter id="containers">
<title>Поддерживаемые форматы</title>
<para>
Важно разъяснить одну общую ошибку. Когда люди видят файл с расширением
<filename>.AVI</filename>, они немедленно заключают, что это - не MPEG файл.
Это не так. Во всяком случае не всегда. Супротив популярному мнению
такой файл <emphasis>может</emphasis> содержать MPEG видео.
</para>
<para>
Как видите, <emphasis role="bold">кодек</emphasis> — это не то же самое,
что и <emphasis role="bold">формат файла</emphasis>.
Примеры видео <emphasis role="bold">кодеков</emphasis>: MPEG1, MPEG2, MPEG4 (DivX), Indeo5, 3ivx.
Примеры видео <emphasis role="bold">форматов</emphasis>: MPG, AVI, ASF.
</para>
<para>
В теории, Вы можете поместить OpenDivX видео и MP3 аудио
в <emphasis role="bold">файл MPG формата</emphasis>. Хотя, большинство
плееров не смогут это проиграть, поскольку они ожидают MPEG1 видео и
MP2 аудио (в отличие от
<emphasis role="bold">AVI</emphasis>, в <emphasis role="bold">MPG</emphasis>
нет нужных полей для описания его видео и аудио потоков).
Или Вы можете поместить MPEG1 видео в AVI файл.
<ulink url="http://ffmpeg.sourceforge.net/">FFmpeg</ulink> и
<link linkend="mencoder"><application>MEncoder</application></link> могут создавать эти файлы.
</para>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="video-formats">
<title>Видео форматы</title>
<sect2 id="mpg-vob-dat">
<title>MPEG файлы</title>
<para>
MPEG файлы бывают различных разновидностей:
</para>
<itemizedlist>
<listitem><para>
MPG: Это наиболее <emphasis role="bold">основная</emphasis> форма файлов
формата MPEG. Она содержит MPEG1 видео, и MP2 (MPEG-1 layer 2) или реже
MP1 аудио.
</para></listitem>
<listitem><para>
DAT: Это почти такой же формат, как MPG, только с другим расширением. Он
используется на <emphasis role="bold">Video CD</emphasis>. Из-за метода,
которым создаются VCD и дизайна Linux'а, DAT файлы не могут проигрываться и
копироваться с VCD, как обычные файлы. Для проигрывания Video CD Вы должны
использовать <option>vcd://</option>.
</para></listitem>
<listitem><para>
VOB: Это формат MPEG файлов на <emphasis role="bold">DVD'шниках</emphasis>.
Это такой же формат, как и MPG, плюс возможность содержать субтитры и
не-MPEG (AC3) аудио. Он содержит кодированное MPEG2 видео и обычно AC3
аудио, но DTS, MP2 и не запакованный LPCM тоже возможны. <emphasis role="bold">
Читайте секцию <link linkend="dvd">DVD</link></emphasis>!
</para></listitem>
<listitem><para>
TY: Это TiVo MPEG поток. Он содержит как MPEG PES данные аудио и видео потоков,
так и дополнительную информацию вроде субтитров. Формат файла -
это не программный поток MPEG (MPEG program stream), а некий закрытый формат,
созданный TiVo. Более побдробно о формате TiVo можно прочитать
на <ulink url="http://dvd-create.sourceforge.net/tystudio/tystream.shtml">
странице TyStudio</ulink>.
</para></listitem>
</itemizedlist>
<para>
Серии кадров независимо группируются в MPEG файлах. Это значит, что Вы можете
разрезать/соединять MPEG фалы стандартными файловыми средствами (такими, как
<command>dd</command>, <command>cut</command>), и он остаётся полностью функциональным.
</para>
<para>
Одно из основных преимуществ MPG'ов это то, что в них есть поле,
описывающее соотношение сторон видео потока. Например, на SVCD содержится
видео разрешением 480x480, и заголовок установил его(поле) в 4:3, поэтому это
будет проигрываться на 640x480. В AVI файлах такого поля нет, поэтому они должны
быть масштабированы при кодировании или проигрываться с опцией
<option>-aspect</option>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="avi">
<title>AVI файлы</title>
<para>
Разработанный Microsoft'ом
<emphasis role="bold">AVI (Audio Video Interleaved [Аудио Видео 'Слоёные'])</emphasis> -
это широко распространённый многоцелевой формат, в настоящий момент чаще всего
применяемый для MPEG4 (DivX и DivX4) видео.
У него много известных недостатков и недочётов (например в потоках). Он
поддерживает 1 видео поток и от 0 до 99 аудио потоков и может быть не
более 2 Гб, хотя существует расширение<emphasis role="bold">OpenDML</emphasis>,
допускающее большие файлы. В настоящий момент Microsoft сильно отговаривает от
его применения и советует использовать ASF/WMV. Никого это не волнует.
</para>
<para>
Существует хак[hack], позволяющий AVI файлам содержать Ogg Vorbis аудио
потоки, но делает их несовместимыми со стандартными AVI.
<application>MPlayer</application> поддерживает воспроизведение таких файлов.
Перемещение также осуществлено, но затруднено плохо закодированными файлами
с запутанными заголовками. К сожалению, эта проблема проявляется у
единственного кодировщика, способного создавать такие файлы -
<application>NanDub</application>.
</para>
<note><para>
DV камеры создают сырые DV потоки, которые средства DV захвата превращают
в AVI файлы двух типов. AVI'шники либо будут содержать разделённые аудио и видео
потоки, которые <application>MPlayer</application> может воспроизводить, или
сырой DV поток, поддержка которого находится в стадии разработки.
</para></note>
<para>
Существует два класса AVI файлов:
<itemizedlist>
<listitem><para>
<emphasis role="bold">'Слоёные'[Interleaved]:</emphasis> Аудио и видео
содержимое 'переплетается'. Это стандартное применение. Рекомендовано и
используется чаще всего. Некоторые программы создают слоёные AVI'шники
с плохой синхронизацией. <application>MPlayer</application>
определяет это как слоёный файл, и затем теряет A/V синхронизацию,
вероятно при перемещении по файлу. Такие файлы должны проигрываться как
не слоёные (с опцией <option>-ni</option>).
</para></listitem>
<listitem><para>
<emphasis role="bold">Не слоёные:</emphasis> Сначала идёт весь видео поток,
затем весь аудио поток. Это требует огромного количества перемещений по файлу,
что делает проигрывание таких файлов по сети или с CD-ROM затруднительным.
</para></listitem>
</itemizedlist>
</para>
<para>
<application>MPlayer</application> поддерживает два типа синхронизации для
AVI файлов:
<itemizedlist>
<listitem><para>
<emphasis role="bold">основанный на bps[битпотоке]:</emphasis> Он основан на
битпотоке/потоке сэмплов для видео/аудио потоков. Этот метод применяется
большинством плееров, включая
<ulink url="http://avifile.sourceforge.net">avifile</ulink> и
<application>Windows Media Player</application>. Файлы с испорченными
заголовками и файлы созданные с VBR аудио в не VBR-совместимом кодировщике
приведут к A/V рассинхронизации при использовании этого метода (по большей
части при перемещении по фильму).
</para></listitem>
<listitem><para>
<emphasis role="bold">основанный на слоёности:</emphasis> Он не использует
значение битпотока из заголовка, вместо этого используется относительная
позиция слоёных кусков аудио и видео, что делает воспроизводимыми
плохо закодированные с VBR аудио.
</para></listitem>
</itemizedlist>
</para>
<para>
Допустимы любые аудио и видео кодеки, но заметьте, что VBR аудио не очень
хорошо поддерживается большинством плееров. Формат файла делает возможным
использование VBR аудио, но многие плееры ожидают CBR, поэтому они
выходят из строя с VBR. VBR редко встречается и Microsoft'овские AVI
спецификации описывают только CBR аудио. Я также заметил, что большинство
кодировщиков создают плохие файлы при использовании VBR аудио. Известно
только два исключения: <application>NanDub</application> и
<link linkend="mencoder"><application>MEncoder</application></link>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="asf-wmv">
<title>ASF/WMV файлы</title>
<para>
ASF (Active Streaming Format) исходит от Microsoft. Они разработали два варианта
ASF, v1.0 и v2.0. v1.0 используется их медиа средствами
(<application>Windows Media Player</application> и
<application>Windows Media Encoder</application>)
и сильно засекречены. v2.0 опубликована и запатентована :). Конечно они
различаются, совсем нет никакой совместимости (это просто другая правовая игра).
<application>MPlayer</application> поддерживает только v1.0, поскольку никто
никогда не видел v2.0 файлов :). Заметьте, что ASF файлы теперь появляются
с расширениями <filename>.WMA</filename> или <filename>.WMV</filename>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="qt-mov">
<title>QuickTime/MOV файлы</title>
<para>
Эти форматы файлов были разработаны в Apple и могут содержать любой кодек,
CBR или VBR. Обычно у них расширение <filename>.QT</filename> или
<filename>.MOV</filename>. Заметьте, что поскольку MPEG4 Group выбрала
QuickTime в качестве рекомендованного формата для MPEG4, их MOV файлы
идут с расширением <filename>.MPG</filename> или <filename>.MP4</filename>
(Интересно, что видео и аудио потоки в этих файлах - настоящие
MPG и AAC файлы. Вы даже можете извлечь их, используя опции
<option>-dumpvideo</option> и <option>-dumpaudio</option>.).
</para>
</sect2>
<!-- ********** -->
<sect2 id="vivo">
<title>VIVO файлы</title>
<para>
<application>MPlayer</application> успешно демультиплексирует VIVO форматы
файлов. Огромный недостаток этого формата заключается в том, что в нем нет
ни индексных блоков, ни фиксированного размера пакетов или байтов синхронизации
и в большинстве файлов нет даже ключевых кадров[keyframes], так что забудьте
о перемещении по файлу!
</para>
<para>
Видео кодек в VIVO/1.0 файлах - это стандартный <emphasis role="bold">h.263</emphasis>.
Видео кодек в VIVO/2.0 файлах - это модифицированный, нестандартный
<emphasis role="bold">h.263v2</emphasis>. Аудио в обоих форматах одинаковое, это может быть
<emphasis role="bold">g.723 (стандарт)</emphasis>, или
<emphasis role="bold">Vivo Siren</emphasis>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="fli">
<title>FLI файлы</title>
<para>
<emphasis role="bold">FLI</emphasis> это очень старый формат, используемый
Autodesk Animator, но это типичный формат для коротких анимационных роликов в сети.
<application>MPlayer</application> демультиплексирует и декодирует FLI фильмы
и даже способен перемещаться в этих файлах (полезно при цикличном проигрывании
с опцией <option>-loop</option>). Во FLI файлах нет ключевых кадров[keyframes],
поэтому некоторое время после перемещения картинка будет "грязной".
</para>
</sect2>
<!-- ********** -->
<sect2 id="realmedia">
<title>RealMedia (RM) файлы</title>
<para>
Да, <application>MPlayer</application> может читать (демультиплексировать)
RealMedia (<filename>.rm</filename>) файлы.
</para>
</sect2>
<!-- ********** -->
<sect2 id="nuppelvideo">
<title>NuppelVideo файлы</title>
<para>
NuppelVideo -
это средство захвата с ТВ (AFAIK:). <application>MPlayer</application> может
читать его <filename>.NUV</filename> файлы (только NuppelVideo 5.0). Эти файлы
могут содержать несжатые YV12, YV12+сжатые RTJpeg, YV12 сжатые RTJpeg+lzo и
YV12 + сжатые lzo кадры. <application>MPlayer</application> декодирует (и также
<emphasis role="bold">кодирует</emphasis> <application>MEncoder
</application>'ом в MPEG4 (DivX) и т. д.!) все это. Перемещение работает.
</para>
</sect2>
<!-- ********** -->
<sect2 id="yuv4mpeg">
<title>yuv4mpeg файлы</title>
<para>
<ulink url="http://mjpeg.sourceforge.net">yuv4mpeg / yuv4mpeg2</ulink>
это формат файлов, используемых в
<ulink url="http://mjpeg.sf.net">программах mjpegtools</ulink>.
Вы можете захватывать, изготовлять, отфильтровывать или кодировать видео в этот
формат, используя эти средства. В действительности формат файла -
последовательность несжатых YUV 4:2:0 кадров.
</para>
</sect2>
<!-- ********** -->
<sect2 id="film">
<title>FILM фильмы</title>
<para>
Этот формат используется в старых Sega Saturn CD-ROM играх.
</para>
</sect2>
<!-- ********** -->
<sect2 id="roq">
<title>RoQ файлы</title>
<para>
RoQ файлы - это мультимедийные файлы используемые в некоторых ID играх,
например Quake III и Return to Castle Wolfenstein.
</para>
</sect2>
<!-- ********** -->
<sect2 id="ogg">
<title>OGG/OGM файлы</title>
<para>
Это новый формат файлов от <ulink url="http://www.xiph.org">Xiphophorus</ulink>.
Он может содержать любой видео или аудио кодек, CBR или VBR. Вам понадобятся,
чтобы <systemitem class="library">libogg</systemitem> и
<systemitem class="library">libvorbis</systemitem> были установлены до компиляции
<application>MPlayer</application>'а, чтобы иметь возможность проигрывать эти файлы.
</para>
</sect2>
<!-- ********** -->
<sect2 id="sdp">
<title>SDP файлы</title>
<para>
<ulink url="ftp://ftp.rfc-editor.org/in-notes/rfc2327.txt">SDP</ulink> - это
IETF стандартный формат для описания видео и аудио RTP потоков.
(требуется "<ulink url="http://www.live555.com/mplayer/">LIVE555 Streaming Media</ulink>".)
</para>
</sect2>
<!-- ********** -->
<sect2 id="pva">
<title>PVA файлы</title>
<para>
PVA - это похожий на MPEG формат, используемый в программах DVB TV карт (например:
<application>MultiDec</application>, <application>WinTV</application> под Windows.
</para>
</sect2>
<!-- ********** -->
<sect2 id="nsv">
<title>NSV files</title>
<para>
NSV (NullSoft Video) — это формат файла, используемый
<application>Winamp</application>'ом для потокового аудио и видео.
Видео бывает VP3, VP5 или VP6, а аудио — MP3, AAC или VLB.
Версии NSV, в которых только аудио, имеют расширение <filename>.nsa</filename>.
<application>MPlayer</application> воспроизводит как NSV потоки,
так и файлы. Пожалуйста, заметьте, что большая часть файлов с
<ulink url="http://www.winamp.com">сайта Winamp</ulink> использует VLB аудио,
которое ещё не может декодироваться. Более того, для потоков с этого сайта
необходим ещё один уровень депакетизации, который ещё нужно написать (эти
файлы всё равно невозможно проиграть, поскольку они используют VLB аудио).
</para>
</sect2>
<!-- ********** -->
<sect2 id="matroska">
<title>Файлы Matroska</title>
<para>
Matroska это открытый формат файла.
подробнее читайте на <ulink url="http://www.matroska.org/">официальном сайте</ulink>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="nut">
<title>NUT файлы</title>
<para>
NUT это формат файла, разработанный ребятами из <application>MPlayer</application> и
<application>FFmpeg</application>. Оба проекта поддерживают его.
Подробности читайте на <ulink url="http://www.nut.hu/">официальном сайте</ulink>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="gif">
<title>GIF файлы</title>
<para>
<emphasis role="bold">GIF</emphasis> формат - это типичный формат для веб
графики. Существуют 2 версии спецификаций GIF, GIF87a и GIF89a. Основная
разница заключается в том, что GIF89a допускает анимацию.
<application>MPlayer</application> поддерживает
оба формата, используя <systemitem class="library">libungif</systemitem> или
другую libgif-совместимую библиотеку. Не анимированные GIF'ы будут показываться
как однокадровое видео. (Используйте опции <option>-loop</option> и
<option>-fixed-vo</option>, чтобы показать их подольше.)
</para>
<para>
В настоящий момент <application>MPlayer</application> не поддерживает
перемещение внутри GIF файлов. У GIF файлов не обязательно фиксированный размер
кадра или фиксированная частота кадров. Наоборот, у каждого кадра свой
собственный размер и должен выводиться в некотором поле фиксированного размера.
Частота кадров контролируется дополнительным блоком перед каждым кадром,
который определяет задержку перед следующим кадром в сотых долях секунды.
</para>
<para>
Стандартные GIF файлы содержат 24-битные RGB кадры с не более чем 8-битовой
индексированной палитрой. Кадры обычно сжаты по LZW алгоритму, хотя некоторые
GIF кодировщики создают несжатые кадры, чтобы избежать проблем с патентом на
LZW сжатие.
</para>
<para>
Если в Вашем дистрибутиве нет <systemitem class="library">libungif</systemitem>,
скачайте копию на
<ulink url="http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml">
домашней странице libungif</ulink>. Технические подробности см. в
<ulink url="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF89a
спецификациях</ulink>.
</para>
</sect2>
</sect1>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<sect1 id="audio-formats">
<title>Аудио форматы</title>
<para>
<application>MPlayer</application> - это проигрыватель
<emphasis role="bold">фильмов</emphasis>, а не
<emphasis role="bold">медиа</emphasis> плеер, хотя он может проигрывать
некоторые форматы аудио файлов (они перечислены ниже). Это не является рекомендуемым
применением <application>MPlayer</application>'а, Вам лучше использовать <ulink
url="http://www.xmms.org">XMMS</ulink>.
</para>
<!-- ********** -->
<sect2 id="mp3">
<title>MP3 файлы</title>
<para>
У Вас могут возникнуть проблемы при проигрывании некоторых MP3 файлов, которые
<application>MPlayer</application> будет неверно определять, как MPEG'и и
проигрывать неправильно или вообще никак. Это не может быть исправлено без
потери поддержки некоторых плохих MPEG файлов и поэтому всё останется как есть
в обозримом будущем. Опция <option>-demuxer</option>, описанная на man странице,
может Вам помочь в этом случае.
</para>
</sect2>
<!-- ********** -->
<sect2 id="ogg-vorbis">
<title>OGG/OGM файлы (Vorbis)</title>
<para>
Требуются правильно установленные
<systemitem class="library">libogg</systemitem> и
<systemitem class="library">libvorbis</systemitem>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="cdda">
<title>CD аудио</title>
<para>
<application>MPlayer</application> может использовать <application>cdparanoia
</application>(библиотеку) для проигрывания CDDA (Audio CD[Аудио CD]).
В задачи этого раздела не входит описание возможностей библиотеки
<application>cdparanoia</application>.
</para>
<para>
См. на man странице описание опции <option>-cdda</option>, которая может
использоваться для передачи параметров в библиотеку
<application>cdparanoia</application>.
</para>
</sect2>
<!-- ********** -->
<sect2 id="xmms">
<title>XMMS</title>
<para>
<application>MPlayer</application> может использовать
<application>XMMS</application>
расширения для ввода<!-- звучит жутковато, но это - перевод из XMMS :) -->, чтобы
проигрывать множество форматов файлов. Существуют расширения для проигрывания
мелодий из SNES игр, SID мелодий (из Commodore 64), множества Amiga форматов,
.xm, .it, VQF, musepack, Bonk, shorten и множества других. Все это Вы можете
отыскать на <ulink url="http://www.xmms.org/plugins_input.html">странице
расширений XMMS для ввода</ulink>.
</para>
<para>
Для использования этих возможностей Вам нужно установить <application>XMMS
</application> и скомпилировать <application>MPlayer</application> c соответствующей опцией:
<filename>./configure --enable-xmms</filename>. Если это не работает, Вам
может понадобиться настроить пути к библиотеке и расширениям непосредственно,
используя опции <option>--with-xmmsplugindir</option> и <option>
--with-xmmslibdir</option>.
</para>
</sect2>
</sect1>
</chapter>
|