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
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
|
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r20705 -->
<chapter id="codecs">
<title>Поддерживаемые кодеки</title>
<sect1 id="video-codecs">
<title>Видео кодеки</title>
<para>
<ulink url="../../codecs-status.html">Таблица статуса кодеков</ulink> содержит
полный, ежедневно обновляющийся список всех поддерживаемых кодеков. Некоторые
бинарные кодеки, которые можно использовать в MPlayer, доступны
в <ulink url="http://www.mplayerhq.hu/design7/dload.html#binary_codecs">разделе закачки</ulink>
нашего сайта.
</para>
<para>
Наиболее важные кодеки:
</para>
<itemizedlist>
<listitem><simpara>
<emphasis role="bold">MPEG1</emphasis> (<emphasis role="bold">VCD</emphasis>) и
<emphasis role="bold">MPEG2</emphasis> (<emphasis role="bold">DVD</emphasis>) видео
</simpara></listitem>
<listitem><simpara>
"родные" декодеры для <emphasis role="bold">всех вариантов DivX,
3ivX, M$ MPEG-4</emphasis> v1, v2 и других вариантов MPEG-4.
</simpara></listitem>
<listitem><simpara>
"родной" декодер для <emphasis role="bold">Windows Media Video 7/8</emphasis>
(<emphasis role="bold">WMV1/WMV2</emphasis>), и Win32 DLL декодер
для <emphasis role="bold">Windows Media Video 9</emphasis>
(<emphasis role="bold">WMV3</emphasis>), оба используются в <filename>.wmv
</filename> файлах
</simpara></listitem>
<listitem><simpara>
"родной" <emphasis role="bold">Sorenson 1 (SVQ1)</emphasis> декодер
</simpara></listitem>
<listitem><simpara>
"родной" <emphasis role="bold">Sorenson 3 (SVQ3)</emphasis> декодер
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">3ivx</emphasis> v1, v2 декодер
</simpara></listitem>
<listitem><simpara>
Cinepak и <emphasis role="bold">Intel Indeo</emphasis> кодеки (3.1,3.2,4.1,5.0)
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">MJPEG</emphasis>, AVID, VCR2, ASV2 и другие аппаратные
форматы
</simpara></listitem>
<listitem><simpara>
VIVO 1.0, 2.0, I263 и другие <emphasis role="bold">h263(+)</emphasis> варианты
</simpara></listitem>
<listitem><simpara>
FLI/FLC
</simpara></listitem>
<listitem><simpara>
<emphasis role="bold">RealVideo 1.0 & 2.0 </emphasis> из
<systemitem class="library">libavcodec</systemitem>, и
<emphasis role="bold">RealVideo 3.0 & 4.0</emphasis> кодеки, используя
библиотеки RealPlayer
</simpara></listitem>
<listitem><simpara>
"родной" декодер для HuffYUV
</simpara></listitem>
<listitem><simpara>
Различные старые, простые, похожие на RLE форматы
</simpara></listitem>
</itemizedlist>
<para>
Если у Вас есть не упомянутый здесь Win32 кодек, который ещё не поддерживается,
пожалуйста, прочтите <link linkend="codec-importing">Как добавить кодек</link>
и помогите нам добавить для него поддержку.
</para>
<sect2 id="ffmpeg" xreflabel="FFmpeg/libavcodec">
<title>FFmpeg/libavcodec</title>
<para>
<ulink url="http://ffmpeg.sourceforge.net">FFmpeg</ulink> содержит
<systemitem class="library">libavcodec</systemitem> - ведущую библиотеку аудио
и видео кодеков с открытым исходным кодом. Она способна декодировать
большинство мультимедиа форматов, обычно быстрее альтернатив, и приодически
добавляется поддержка оставшихся. Это декодер по-умолчанию для большинства
кодеков, поддерживаемых
<application>MPlayer</application>. Кодирование также возможно для некоторых форматов и
поддерживается в <application>Mencoder</application>.
</para>
<para>
Полный список поддерживаемых
<ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC19">видео</ulink>
и <ulink url="http://www.ffmpeg.org/ffmpeg-doc.html#SEC20">аудио</ulink> кодеков
доступен на домашней странице FFmpeg.
</para>
<para>
<application>MPlayer</application>
содержит <systemitem class="library">libavcodec</systemitem>.
Просто запустите <filename>./configure</filename> и компилируйте как обычно.
</para>
</sect2>
<sect2 id="xvid">
<title>XviD</title>
<para>
<ulink url="http://www.xvid.org">XviD</ulink> свободный, MPEG-4 ASP совместимый
видео кодек, особенностями которого являются двухпроходное кодирование и
полная поддержка MPEG-4 ASP, делающая его намного более эеффективным, чем
хорошо известный DivX. Он предоставляет видео отменного качества и хорошую
производительность, в силу оптимизаций под большинство современных процессоров.
</para>
<para>
Он начался как ответвление OpenDivX кодека. Это произошло, когда ProjectMayo
сделал исходный код OpenDivX
закрытым DivX4, и разработчики OpenDivX не из ProjectMayo
разозлились, и взялись за XviD. Поэтому у обоих проектов общие корни.
</para>
<para>
Имейте в виду, что XviD не нужен для декодирования XviD-кодированного видео.
<systemitem class="library">libavcodec</systemitem> используется по-умолчанию,
т.к. обеспечивает более высокую скорость.
</para>
<procedure>
<title>Установка <systemitem class="library">XviD</systemitem></title>
<para>
Как и большинство ПО с открытым исходным кодом, он доступен как в виде
<ulink url="http://www.xvid.org/downloads.html">официальных релизов</ulink>,
так и в виде CVS версии.
Как правило, CVS версия достаточно стабильна для использования, т.к. в большинстве
случаев ее особенностью является отсутствие ошибок, присутствующих в релизах.
Далее описывается как заставить работать
<systemitem class="library">XviD</systemitem> CVS с <application>MEncoder</application>'ом
(необходимы, как минимум,
<application>autoconf</application> 2.50,
<application>automake</application> и <application>libtool</application>):
</para>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid login</screen>
</para></step>
<step><para>
<screen>cvs -z3 -d:pserver:anonymous@cvs.xvid.org:/xvid co xvidcore</screen>
</para></step>
<step><para>
<screen>cd xvidcore/build/generic</screen>
</para></step>
<step><para>
<screen>./bootstrap.sh</screen>
</para></step>
<step><para>
<screen>./configure</screen>
Вам может потребоваться добавить некоторые опции (посмотрите вывод
<command>./configure --help</command>).
</para></step>
<step><para>
<screen>make && make install</screen>
</para></step>
<step><para>
Если Вы указали <option>--enable-divxcompat</option>,
скопируйте <filename>../../src/divx4.h</filename> в
<filename class="directory">/usr/local/include/</filename>.
</para></step>
<step><para>
Перекомпилируйте <application>MPlayer</application> с
<option>--with-xvidlibdir=<replaceable>/path/to/</replaceable>libxvidcore.a</option>
<option>--with-xvidincdir=<replaceable>/path/to/</replaceable>xvid.h</option>.
</para></step>
</procedure>
</sect2>
<sect2 id="codec-x264">
<title><systemitem class="library">x264</systemitem></title>
<sect3 id="codec-x264-whatis">
<title>Что такое <systemitem class="library">x264</systemitem>?</title>
<para>
<ulink url="http://developers.videolan.org/x264.html"><systemitem class="library">x264</systemitem></ulink> -
это библиотека для создания
видеопотоков H.264. Она не завершена на 100%, но, по крайней мере, имеет
поддержку большинства возможностей H.264, влияющих на качество.
В спецификации H.264 присутствует множество дополнительных возможностей,
которые сами по себе никак не влияют на качество видео и до сих в
<systemitem class="library">x264</systemitem> не реализованы.
</para>
<itemizedlist>
<title>возможности кодера</title>
<listitem><para>CAVLC/CABAC (Контекстнозависимое адаптивное бинарное арифметическое
кодирование / Контестнозависимое адаптивное кодирование с переменной длиной)</para></listitem>
<listitem><para>Кадры с несколькими ссылками</para></listitem>
<listitem><para>Базовые (I-) кадры: все типы макроблоков (16x16, 8x8 и 4x4 со всеми
видами предсказания)</para></listitem>
<listitem><para>Предсказуемые (P-) кадры: все дробления (от 16x16 до 4x4)</para></listitem>
<listitem><para>Двунаправленные (B-) кадры: дробления от 16x16 до 8x8
(включая SKIP/DIRECT)</para></listitem>
<listitem><para>Управление потоком: постоянный квантователь, постоянный битпоток,
одинарный или многопроходный ABR, опциональный VBV</para></listitem>
<listitem><para>Обнаружение усечения изображения</para></listitem>
<listitem><para>Адаптивное расположение B-кадров</para></listitem>
<listitem><para>B-кадры как ссылки или в произвольном расположении кадров</para></listitem>
<listitem><para>Адаптивные пространственные преобразования 8x8 и 4x4</para></listitem>
<listitem><para>Режим кодирования без потерь</para></listitem>
<listitem><para>Возможность задания пользовательских матриц квантования</para></listitem>
<listitem><para>Параллельное кодирование разных блоков</para></listitem>
</itemizedlist>
</sect3>
<sect3 id="codec-h264-whatis">
<title>Что такое H.264?</title>
<para>
H.264 - это одно из названий нового цифрового кодека, совместно
разрабатываемого ITU и MPEG. Названия "ISO/IEC 14496-10" или
"MPEG-4 Part 10" тоже являются корректными, но чаще его
называют "MPEG-4 AVC" или просто "AVC".
</para>
<para>
Как его ни называй, но H.264 стоит попробовать, поскольку он
дает то же качество, что и MPEG-4 ASP, но при битрейте меньшем
на 5%-30%. Конкретный результат зависит как от исходного
материала, так и от кодировщика. Выигрыш не дается просто так:
декодирование потока H.264, похоже, имеет существенно повышенные требования
к CPU и памяти. В частности, на 1733 MHz Athlon декодирование
H.264 потока в 1500кбит/с с DVD-разрешением использует около 35% CPU.
Для сравнения, декодирование 1500кбит/с потока MPEG4-ASP с
DVD-разрешением требует около 10% CPU. Это означает, что для
большинства пользователей практически не может быть и речи о декодировании
потоков высокого разрешения.
Также это значит, что даже скромный DVD рип может время от времени
заикаться на процессорах слабее 2.0 GHz или около того.
</para>
<para>
По крайней мере, с <systemitem class="library">x264</systemitem>
требования для кодирования не слишком велики по сравнению с MPEG4-ASP.
В частности, на 1733 MHz Athlon кодирование обичного DVD будет идти со
скоростью 5-15 fps.
</para>
<para>
Объяснять все тонкости H.264 не является целью этого документа, но если
вас интересует краткий обзор, вы можете прочесть
<ulink url="http://www.cdt.luth.se/~peppar/kurs/smd151/spie04-h264OverviewPaper.pdf">The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions</ulink>.
</para>
</sect3>
<sect3 id="codec-x264-playback">
<title>Как мне посмотреть H.264 при помощи <application>MPlayer</application>?</title>
<para>
<application>MPlayer</application> использует H.264 декодер библиотеки
<systemitem class="library">libavcodec</systemitem>.
<systemitem class="library">libavcodec</systemitem> получила мало-мальски
пригодную для использования возможность декодирования H.264 где-то в июле 2004,
однако, с того времени было внесено можество серъезных изменений и улучшений,
как с точки зрения поддерживаемых функциональных возможностей, так и улучшенного
использования CPU.
Для определенности: использование свежей версии Subversion - всегда хорошая идея.
</para>
<para>
Если нужен быстрый и простой способ узнать какие свежие изменения, относящиеся к H.264,
были сделаны в <systemitem class="library">libavcodec</systemitem>, Вам следует
иметь ввиду
<ulink url="http://mplayerhq.hu/cgi-bin/cvsweb.cgi/ffmpeg/libavcodec/h264.c?cvsroot=FFMpeg">Веб-интерфейс к репозиторию FFmpeg Subversion</ulink>.
</para>
</sect3>
<sect3 id="codec-x264-encode">
<title>Как кодировать видео, используя <application>MEncoder</application> и <systemitem class="library">x264</systemitem>?</title>
<para>
Если у вас установлен клиент subversion, последнюю версию x264
можно загрузить следующей командой:
<screen>svn co svn://svn.videolan.org/x264/trunk x264</screen>
Исходный код <application>MPlayer</application> обновляется
всякий раз при изменении API <systemitem class="library">x264</systemitem>,
так что предлагается использовать Subversion версию
<application>MPlayer</application>'а.
возможно, ситуация изменится с выходом "релиза"
<systemitem class="library">x264</systemitem> (если он будет).
В данный момент <systemitem class="library">x264</systemitem> следует
рассматривать как очень нестабильный, в свете постоянного изменения
интерфейса программирования.
</para>
<para>
<systemitem class="library">x264</systemitem> собирается и устанавливается
как обычно:
<screen>./configure && make && sudo make install</screen>
Это установит libx264.a в /usr/local/lib, а x264.h - в /usr/local/include.
Сборка <application>MPlayer</application> при установленных в стандартные
каталоги библиотеке и заголовочном файле <systemitem class="library">x264</systemitem>
очень проста.
Просто запустите станартное:
<screen>./configure && make && sudo make install</screen>
Скрипт <filename>./configure</filename> сам определит, выполнены ли необходимые требования для
<systemitem class="library">x264</systemitem>.
</para>
</sect3>
</sect2>
</sect1>
<!-- ********** -->
<sect1 id="audio-codecs">
<title>Аудио кодеки</title>
<itemizedlist>
<title>Наиболее важными аудио кодеками среди всех являются:</title>
<listitem><simpara>
MPEG layer 1/2/3 (MP1/2/3) аудио (<emphasis role="bold">родной</emphasis>
код, с MMX/SSE/3DNow! оптимизацией)
</simpara></listitem>
<listitem><simpara>
Windows Media Audio 7 и 8 (они же WMAv1 и WMAv2) (<emphasis role="bold">родной</emphasis> код, с
<link linkend="ffmpeg"><systemitem class="library">libavcodec</systemitem></link>)
</simpara></listitem>
<listitem><simpara>
Windows Media Audio 9 (WMAv3) (используя DMO DLL)
</simpara></listitem>
<listitem><simpara>
AC3 Dolby аудио (<emphasis role="bold">родной</emphasis> код, с
MMX/SSE/3DNow! оптимизацией)
</simpara></listitem>
<listitem><simpara>
AC3 пропускаемый через звуковое оборудование
</simpara></listitem>
<listitem><simpara>
AAC
</simpara></listitem>
<listitem><simpara>
Ogg Vorbis аудио кодек (<emphasis role="bold">родная</emphasis> библиотека)
</simpara></listitem>
<listitem><simpara>
RealAudio: DNET (AC3 с низким битпотоком), Cook, Sipro и ATRAC3
</simpara></listitem>
<listitem><simpara>
QuickTime: Qualcomm и QDesign аудио кодеки
</simpara></listitem>
<listitem><simpara>
VIVO аудио (g723, Vivo Siren)
</simpara></listitem>
<listitem><simpara>
Voxware аудио (используя DirectShow DLL)
</simpara></listitem>
<listitem><simpara>
alaw и ulaw, различные gsm, adpcm и pcm форматы и другие простые старые аудио
кодеки
</simpara></listitem>
<listitem><simpara>
Adaptive Multi-Rate (AMR) речевые кодеки
</simpara></listitem>
</itemizedlist>
<sect2 id="swac3">
<title>Программное декодирование AC3</title>
<para>
Это декодер, используемый, по умолчанию, для файлов с AC3 аудио
</para>
<para>
Декодер AC3 может создавать аудио вывод микшированный для 2, 4 или 6 колонок.
Будучи сконфигурированным для 6 колонок, этот декодер предоставляет раздельный
вывод всех AC3 каналов звуковому драйверу, позволяя получить "звук вокруг"
без внешнего AC3 декодера, необходимого для использования hwac3 кодека.
</para>
<para>
Используйте опцию <option>-channels</option>, чтобы выбрать количество каналов
при выводе. Используйте <option>-channels 2</option> для микширования до стерео.
Для микширования до 4 каналов (Левый Передний, Правый Передний, Левый Задний и
Правый Задний выводы),
используйте <option>-channels 4</option>. В этом случае все центральные каналы
будут равномерно смикшированы до уровня передних каналов. <option>-channels 6</option> будет
выводить все AC3 каналы так, как они закодированы - по порядку:
Левый, Правый, Левый Задний, Правый Задний, Центральный и Сабвуфер.
</para>
<para>
Количество каналов по умолчанию - 2.
</para>
<para>
Чтобы использовать более 2 каналов, Вам нужно использовать OSS, и обладать
карточкой, поддерживающей необходимое количество каналов через ioctl
SNDCTL_DSP_CHANNELS. Примером подходящего драйвера является emu10k1
(используется для Soundblaster Live! карточек) августа 2001'го или новее
(ALSA CVS тоже должен работать).
</para>
</sect2>
<sect2 id="hwac3">
<title>Аппаратное декодирование AC3</title>
<para>
Вам нужна AC3-совместимая карта с цифровым (S/PDIF) выводом. Драйвер карты
должен должным образом поддерживать AFMT_AC3 формат (например C-Media).
Подсоедините AC3 декодер к S/PDIF выводу и используйте опцию <option>-ac
hwac3</option>. Это экспериментальная возможность, но известно, что это работает с
C-Media картами и Soundblaster Live! + ALSA (но не OSS) драйверами и
картами MPEG декодирования DXR3/Hollywood+.
</para>
</sect2>
<sect2 id="libmad">
<title>Поддержка <systemitem class="library">libmad</systemitem></title>
<para>
<ulink url="http://mad.sourceforge.net"><systemitem
class="library">libmad</systemitem></ulink> - это многоплатформенная,
целочисленная (внутренне 24'битный PCM)
библиотека декодирования MPEG аудио. Она не очень хорошо обрабатывает битые
файлы и иногда у неё бывают проблемы с перемещением по файлу, но она
может быть производительнее <systemitem class="library">mp3lib</systemitem> на платформах без FPU
(таких как <link linkend="arm">ARM</link>).
</para>
<para>
Если <systemitem class="library">libmad</systemitem> у вас установлена,
<filename>./configure</filename> сообщит об этом,
и поддержка декодирования MPEG аудио с помощью <systemitem class="library">libmad</systemitem>
будет включена автоматически.
</para>
</sect2>
<sect2 id="hwmpa">
<title>Аппаратный MPEG аудио кодек</title>
<para>
Этот кодек (выбираемый по <option>-ac hwmpa</option>) передает все аудио пакеты MPEG аппаратным
декодерам, таким как установленные в полнофункциональных DVB картах и DXR2 адаптерах.
Не используйте его с другими драйверами вывода звука (такими как OSS и ALSA), которые
не способны аппаратно декодировать (вы усышите только белый шум).
</para>
</sect2>
<sect2 id="aac">
<title>AAC кодек</title>
<para>
AAC (Advanced Audio Coding) - это кодек, иногда обнаруживаемый в MOV и MP4
файлах. Декодер с открытым исходным кодом, называемый FAAD, доступен с
<ulink url="http://www.audiocoding.com"/>.
<application>MPlayer</application> включает в себя CVS версию libfaad 2.1 beta, поэтому
Вам ничего не нужно дополнительно скачивать.
</para>
<para>
Если Вы используете gcc 3.2, который не может скомпилировать встроенный FAAD,
или просто хотите использовать внешнюю библиотеку, скачаете её с
<ulink url="http://www.audiocoding.com/download.php">страницы загрузок</ulink>
и укажите <filename>./configure</filename> <option>--enable-faad-external</option>.
Вам не нужен весь faad2, чтобы декодировать AAC файлы, достаточно libfaad.
Вот как Вы можете её собрать:
<screen>
cd faad2/
sh bootstrap
./configure
cd libfaad
make
make install
</screen>
Бинарники отсутствуют на audiocoding.com, но вы можете скачать (apt-get) Debian
пакеты с <ulink url="http://marillat.free.fr">домашней страницы Christian Marillat</ulink>,
Mandrake RPM'ники с <ulink url="http://plf.zarb.org">P.L.F</ulink> и RedHat RPM'ники
с <ulink url="http://greysector.rangers.eu.org/">Grey Sector</ulink>.
</para>
</sect2>
<sect2 id="amr">
<title>AMR кодеки</title>
<para>
Речевой кодек Adaptive Multi-Rate используется в мобильных телефонах третьего поколения (3G).
Исходная реализация доступна с
<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
(бесплатна для личного использования).
</para>
<para>
Чтобы включить поддержку, скачайте исходники для
<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26104-610.zip">AMR-NB</ulink>
и
<ulink url="http://www.3gpp.org/ftp/Specs/latest/Rel-6/26_series/26204-600.zip">AMR-WB</ulink>
кодеков, поместите их в каталог, где распакованы исходники
<application>MPlayer</application> и выполните следующие команды:
<screen>
unzip 26104-610.zip
unzip 26104-610_ANSI_C_source_code.zip
mv c-code libavcodec/amr_float
unzip 26204-600.zip
unzip 26204-600_ANSI-C_source_code.zip
mv c-code libavcodec/amrwb_float
</screen>
После этого следуйте обычной <link linkend="features">процедуре сборки</link>
<application>MPlayer</application>.
</para>
</sect2>
</sect1>
<!-- ********** -->
<sect1 id="codec-importing">
<title>КАК извлечь кодек из Win32</title>
<!-- TODO: a short paragraph of text would be nice here... -->
<sect2 id="vfw-codecs">
<title>VFW кодеки</title>
<para>
VFW (Video for Windows[Видео для Windows]) - это старые Видео API для Windows.
У этих кодеков расширения <filename>.DLL</filename> или (реже) <filename>.DRV</filename>.
Если <application>MPlayer</application> не может проигрывать Ваш
AVI с такого рода сообщением:
<screen>UNKNOWN video codec: HFYU (0x55594648)</screen>
Это значит, что Ваш AVI закодирован кодеком с fourcc HFYU
(HFYU = HuffYUV кодек, DIV3 = DivX Low Motion, и т.п.). Теперь, когда Вы это
знаете, Вы должны найти DLL, которую Windows загружает для проигрывания этого
файла. В нашем случае, в файле <filename>system.ini</filename> есть эта
информация, в этой строке:
<programlisting>VIDC.HFYU=huffyuv.dll</programlisting>
</para>
<para>
Значит, Вам нужен файл <filename>huffyuv.dll</filename>. Заметьте, что аудио
кодеки используют префикс MSACM:
<programlisting>msacm.l3acm=L3codeca.acm</programlisting>
</para>
<para>
Это MP3 кодек. Теперь у Вас есть вся необходимая информация (fourcc, файл с
кодеком, пример AVI), представьте на рассмотрение запрос о поддержке Вашего
кодека по почте и загрузите эти файлы на FTP сайт:
<systemitem role="url">
ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/
</systemitem>
</para>
<note><para>Под Windows NT/2000/XP ищите эту информацию в реестре, например,
ищите "VIDC.HFYU". Чтобы узнать, как это делать, см. ниже старый
метод DirectShow.
</para></note>
</sect2>
<sect2 id="dshow-codecs">
<title>DirectShow кодеки</title>
<para>
DirectShow - это более новый Video API, которые даже хуже, чем его предшественник.
Все сложнее с DirectShow, поскольку
<itemizedlist>
<listitem><simpara>
<filename>system.ini</filename> не содержит необходимую информацию, вместо
этого она хранится в реестре и
</simpara></listitem>
<listitem><simpara>
нам нужен GUID этого кодека.
</simpara></listitem>
</itemizedlist>
</para>
<procedure>
<title>Новый Метод:</title>
<para>
Используя <application>Microsoft GraphEdit</application> (быстро)
</para>
<step><para>
Получите <application>GraphEdit</application> или из DirectX SDK или
<ulink url="http://doom9.net">doom9</ulink>.
</para></step>
<step><para>
Запустите <command>graphedit.exe</command>.
</para></step>
<step><para>
В меню выберите Graph -> Insert Filters.
</para></step>
<step><para>
Щёлкните <systemitem>DirectShow Filters</systemitem>.
</para></step>
<step><para>
Выберите нужное имя кодека и щёлкните по нему.
</para></step>
<step><para>
В поле <systemitem>DisplayName</systemitem> обратите внимание на текст в
фигурных скобках после обратного слэша и выпишете их (пять разделённых
дефисами блоков, GUID).
</para></step>
<step><para>
Бинарный файл кодека - это файл, указанный в поле <systemitem>Filename</systemitem>.
</para></step>
</procedure>
<note>
<para>
Если там нет <systemitem>Filename</systemitem> и
<systemitem>DisplayName</systemitem> содержит что-то в духе
<systemitem>device:dmo</systemitem>, то это - DMO-Кодек.
</para>
</note>
<procedure>
<title>Старый метод:</title>
<para>
Сделайте глубокий вдох и начните искать в реестре...
</para>
<step><para>
Запустите <command>regedit</command>.
</para></step>
<step><para>
Нажмите <keycap>Ctrl</keycap>+<keycap>F</keycap>, отключите первые две галочки
и включите третью. Наберите fourcc Вашего кодека (например,
<userinput>TM20</userinput>).
</para></step>
<step><para>
Вы должны увидеть поле, содержащее путь и имя файла (например,
<filename>C:\WINDOWS\SYSTEM\TM20DEC.AX</filename>).
</para></step>
<step><para>
Теперь, когда у Вас есть файл, нам нужен GUID. Попробуйте поискать снова,
но теперь ищите имя кодека, а не fourcc. Это имя может быть получено,
когда Media Player проигрывает файл, проверив
<guimenu>File</guimenu> -> <guisubmenu>Properties</guisubmenu> ->
<guimenuitem>Advanced</guimenuitem>.
Если нет, Вам не повезло. Попробуйте угадать (например, ищите TrueMotion).
</para></step>
<step><para>
Если GUID найден, Вы должны видеть поля <guilabel>FriendlyName</guilabel>
и <guilabel>CLSID</guilabel>. Выпишите 16-ти байтовый CLSID, это GUID, который
нам нужен.
</para></step>
</procedure>
<note>
<para>
Если поиск не удаётся, попробуйте включить все галочки. Вы можете получить
ложные значения, но Вам может повести...
</para>
</note>
<para>
Теперь у Вас есть вся необходимая информация (fourcc, GUID, файл с кодеком,
пример AVI), представьте на рассмотрение запрос о поддержке Вашего кодека по
почте и загрузите эти файлы на FTP сайт:
<systemitem
role="url">ftp://upload.mplayerhq.hu/MPlayer/incoming/<replaceable><codecname></replaceable>/
</systemitem>
</para>
<para>
Если вы хотите добавить кодек самостоятельно, прочтите
<ulink url="http://www.mplayerhq.hu/MPlayer/DOCS/tech/codecs.conf.txt">DOCS/tech/codecs.conf.txt</ulink>.
</para>
</sect2>
</sect1>
</chapter>
|