Глава 16 Мултимедия


редактор: Ross Lippert


Превод: Димитър Василев ака botzko/FreeJak

12/2002-03/2003 за нуждите на FreeBSD-BG documentation project


16.1 Увод


FreeBSD подържа голямо разнообразие от звукови карти, позволявайки ви да се насладите на високока-чествен звук от вашия компютър. Това включва звукозапис и възпроизвеждане на звук в следните формати: MPEG Audio Layer 3 (MP3), WAV, Ogg Vorbis; както и много други. FreeBSD порт колекцията съдържа също програми, които ви позволяват да редактирате записаният звук, добавяте ефекти и контролирате прикачените MIDI устройства. С малко желание за експерименти, може да накарате FreeBSD да възпроизвежда видео и DVD форма-тите. Броят на приложенията за записване, преобразуване и възпроизвеждане на видео формати е по-ограничен, отколкото този на звуковите приложения. Например, по време на написването на наръчника, няма добро прило-жение за преобразуване на видео, което да има същите характеристики както audio/sox за звуковите формати. За щастие нещата в тази област се променят много бързо.

Тази глава описва стъпките по настройка на вашата звукова карта. Инсталацията и настройката на XFree86 сървъра (глава 5) са се погрижили за параметрите на видеокартата. Съществуват настройки, които е добре да бъдат направени за по-голяма производителност. След прочита на тази глава ще знаете как:

•да конфигурирате вашата система, така че звуковата ви карта да бъде разпозната;

•методи за проверка дали звуковата карта работи, чрез употреба на примерни програми;

•да отстраните проблемите, възникнали след настройване;

•да възпроизвеждате и кодирате МР3 и други форма-ти;

•ХFree86 осъществява подръжката на видеокартата;

•кои приложения за видео са добри за прекодиране в други формати/ за гледане на филми;

•да гледате DVD-та, .mpg и .avi файлове;

•да прехвърляте DVD и CD информация във файлове;

Преди да започнем, вие трябва да сте прочели глава 9; да знаете как да настроите и инсталирате ново ядро. За частите от този раздел свързани с видео се приема, че сте качили XFree86 4.X: x11/XFree86-4. XFree86-3.Х може и да работи, но не е тестван с приложенията описани тук. Ако откриете нещо описано тук, което работи с XFree86-3.Х, молим дани уведомите.

Предупреждение: опитите да заредите аудио диск или видео DVD с командата mount(8) ще завършат с грешка или срив на ядрото (kernel panick) в най-лошия случай. Тези носители имат специален формат, различен от обикно-вената ISO система.


16.2 Настройка на звуковата карта


        написано от Moses Moore

    16.2.1 Намиране на правилното устройство


Преди да започнете, трябва да знаете моделът на вашата карта; чипът, който тя използва и дали тя е PCI или ISA карта. FreeBSD подържа голямо разнообразие и от двата типа модели. Ако не виждате вашата карта в спикъка по-долу, моля проверете страницата от наръчника за pcm(4): man pcm - бел. прев. Макар и непълна, листата по-долу изброява някои от най-разпространените карти:


• Crystal 4237, 4236, 4232, 4231

• Yamaha OPL-SAx

• OPTi931

• Ensoniq AudioPCI 1370/1371

• ESS Solo-1/1E

• NeoMagic 256AV/ZX

• Sound Blaster Pro, 16, 32, AWE64, AWE128, Live

• Creative ViBRA16

• Advanced Asound 100, 110, and Logic ALS120

• ES 1868, 1869, 1879, 1888

• Gravis UltraSound

• Aureal Vortex 1, Aureal Vortex 2


За да използвате вашата карта, трябва да заредите съответния драйвер. Това може да стане по два начина: най-лесно е да заредите въпросният модул на ядрото, който подържа вашата карта чрез командата kdload (8). Другият начин е да прекомпилирате ядрото и да укажете статична подръжка за вашата карта. За повече подроб-ности по прекомпилирането, моля вижте глава 9.

    16.2.1.1 Creative, Advance и ESS карти


Ако имате една от следните карти, трябва да добавите:


device pcm



към вашият конфигурационен файл за новото ядро. При наличие на ISA PnP карта ще трябва също да добавите:


device sbc


Карти, които не са ISA PnP се настройват по следния начин добавете


    device pcm

    device sbc0 at isa? Port 0x220 irq5 drq 1 flags 0x15


към конфигурационния файл на ядрото. Дадените настройки са по подразбиране. Вероятно ще се наложи да смените прекъсването или друг параметър, за да съвпадне с тези на вашата карта. Моля проверете за повече информация ръководството за sbc(4).За


Забележка: Sound Blaster Live картите не се подържат от версиите на FreeBSD по-ниски от 4.0, без да е приложена кръпка, която няма да бъде описана в тази глава. Препоръчва се да обновите вашата версия до последната стабилна, преди да пробвате тази марка.


      16.2.1.2    Gravis UltraSound карти



      За ISA PnP параметрите за добавяне са следните:


   device pcm

   device gusc


За карти, които не са ISA PnP:


    device pcm

    device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x15


    16.2.1.3 Crystal Sound карти


За тях е нужно да добавите


    device pcm

    device csa


към конфигурацията на новото ядро.




    16.2.1.4 Обща подръжка


ISA/PCI PnP карти, клонинги на големите марки се настойват като въведете


    device pcm


в конфигурацията на новото ядро. Ако имате ISA карта, която не е PnP и няма свързващ драйвер (bridge driver) за нея, можете да я подкарате като напишете:


    device pcm0 at isa? irq 10 drq 1 flags 0x0


в конфига на новото ядро. Вероятно ще се наложи да смените прекъсването или другите настройки, за да може да тръгне.

        16.2.1.5    Дъна с вградена звукова карта

Някои системи с вграден звук на дъното, вероятно ще се нуждаят от следната опция към файла за новото ядро, за да тръгнат:



options PNPBIOS


16.2.2 Създаване и изпробване на ус-тройствата


След като рестартирате, влезте в системата, стартирайте dmesg | grep pcm , както е показано по-долу:


# dmesg | grep pcm

pcm0: <SB16 DSP 4.11> on sbc0


Резултатът от вашия компютър може да изглежда различно. Ако няма налични pcm устройства, то значи нещо се е омазало при компилирането. Съветваме ви да проверите отново вашият конфигурационен файл дали сте избрали правилния драйвер. Често срещаните проблеми по звуковите устройства са изброени в част 16.2.2.1.


Забележка: Ако работите с FreeBSD от пета версия нагоре, devfs(1) се грижи за създаване на устройствата. Можете да пропуснете остатъка от тази част.


Ако резултатът от предишната команда е pcm0, ще трябва да изпълните следващата част като администратор:


# cd /dev

# /bin/sh MAKEDEV snd0


Ако резултатът от предишната команда е pcm1, направете същите стъпки както по-горе, заменяйки snd0 с snd1.


Забележка: По-горните команди няма да създадат устройство /dev/snd!

MAKEDEV ще създаде група от устройства, като между тях ще са и следните:


Устройство

ОпОписание


/dev/audio

SPARC съвместимо звуково устройство


/dev/dsp

Цифровизирано гласово устройство


/dev/dspW

Същото като /dev/dsp, само че с 16 бита за семпъл


/dev/midi

Устройство за достъп до midi периферия


/dev/mixer

Контролно смесващо устройство


/dev/music

Интерфейс към сикуенсър второ ниво


/dev/sequencer

Сикуенсър


/dev/pss

Програмируем интерфейс за устройства



Ако всичко върви добре, би трябвало да имате работеща звукова карта. При правилно свързан CD/DVD ROM, може да поставите CD и да слушате музика със cdcontrol(1):


% cdcontrol -f /dev/acd0c play 1


Многобройни приложения като audio/workman предлагат по-добър интерфейс. Вероятно ще желаете да инсталирате audio/mpg123, за да слушате mp3-ки.


16.2.2.1Често срещани проблеми


Съобщение за грешка Решение

``unsupported subdevice XX'' Eдно или повече устройства не са били създадени правилно. Повторете стъпките по-горе

``sb_dspwr(XX) timed out'' Входно-изходният порт не е зададен правилно

``bad irq XX'' Прекъсването не е зададено правилно. Проверете дали зададеното прекъсване и това на звуковата ви карта съвпадат

``xxx: gus pcm not attached, out of memory'' Няма достатъчно памет

``xxx: can't open /dev/dsp!'' Проверете с fstat | grep dsp дали някое друго приложение не ползва картата. Еsound и КДЕ звуковите модули са известни с проблемите, които създават в тази област.


16.2.3 Използване на много звукови карти


написано от Munish Chopra


Желателно е да имате много източници на звук, които могат да свирят едновременно в ситуации, когато esound или artsd не подържат поделянето звуковата карта с друго приложение.

FreeBSD ви дава възможност да сторите това чрез виртуалните звукови канали, които могат да се зададат чрез програмата sysctl(8). Виртуалните канали ви позволяват да увеличите възможностите на картата си за просвирване на звук чрез смесването му в ядрото.

За да зададете техния брой, има две опции, които може да ползвате в случай, че имате администраторски права:


# sysctl hw.snd.pcm0.vchans=4

# sysctl hw.snd.maxautovchans=4


Горният пример създава 4 виртуални канала, което е практично за ежедневна употреба. hw.snd.pcm0.vchans е броя на каналите, с които pcm0 разполага. hw.snd.maxautovchans показва колко канала ще получи всяко устройство, прикачено с помощта на kdload(8) или по-късно инсталирано на компютъра.

Ако не ползвате devfs(5), ще трябва да упътите звуковите приложения към /dev/dsp0.х; където х е число между 1 и 3, ако сте ползвали горния пример и hw.pcm0.vchans =4.



    1. МР3

написано от Chern Lee


MP3 (MPEG Layer 3 Audio) е формат близък по качество на аудио дисковете, което не ви оставя причина да не се възползвате от възможностите му.


      1. МР3 плейъри


Най-популярният XFree86 MP3 плейър засега е XMMS (X Multimedia System). Winamp кожите могат да бъдат ползвани, понеже графичният вид е почти идентичен към този на Winamp от Nullsoft. XMMS има също подръжка на плъгини. XMMS може да бъде инсталиран от multimedia/xmms порта или прекомпилиран пакет.

Интерфейсът на XMMS е интуитивен, с плейлиста, графичен еквилайзер и още много характе-ристики. Онези от вас запознати с Winamp, ще открият че XMMS e лесен за употреба.

Портът audio/mpg123 е алтернативен плейър, работещ в конзолен режим. Може да бъде стартиран чрез указване на звукоото устройство и файлът за просвирване, кактто е показано по-долу:


# mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.

Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.

Uses code from various people. See 'README' for more!

THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!


Playing MPEG stream from BT - Foobar-GreastHits.mp3 MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo


/dev/dsp1.0 трябва да бъде заменено със съответното dsp устройство на вашата система.


      1. Копиране (рипване) на CD-та


Преди да прекодираме диск или песен от диск, те трябва да бъдат копирани (рипнати) на твърдия диск. Това става като копираме CDDA (CD Digital Audio) дан-ните в WAV файлове.

Инструментът cdda2wav, част от колекцията sysutils/cdrtools се използва за тази цел. Поставете диска в устройството, задайте следващата команда като администратор и ще имате всички песни от диска записани на компютъра в WAV файлове:


# cdda2wav -D 0,1,0 -В


cdda2wav подържа ATAPI (IDE) CDROM-ове. За да запишете от IDE, заместете SCSI мерните единици с неговото име. Например, за да изсмучете парче №7, ще трябва да въведете:


# cdda2wav -D /dev/acd0a -t 7


Опцията -D 0,1,0 отговаря на SCSI устройство 0,1,0, което отговаря на изходното съобщение от командата cdrecord -scanbus. Опцията -t показва, че копираме само една песен. Ако искаме определен сегмент, например от 1 до 7-ма песен включително:


# cdda2wav -D 0,1,0 -t 1+7


Програмката dd(1) може също да бъде ползвана за копиране на дискове от ATAPI устройства. Секция 12.5.5 от наръчника дава повече информация за тази възможност.


      1. Кодиране на МР3-ки


В днешно време, предпочитаният мр3 кодер е lame. Може да бъде открит в директорията audio/lame на порт колекцията. Използвайки копираните уейв файлове, командата описана по-долу ще ги превърне в мр3-ки:


# lame -h -b 128 \

--tt "Foo Song Title" \

--ta "FooBar Artist" \

--tl "FooBar Album" \

--ty "2001" \

--tc "Ripped and encoded by Foo" \

--tg "Genre" \

audio01.wav audio01.mp3


128 kилобита е предпочитаната честота на кодиране. Мнозина се радват и на по-високи – 160 или 192. С увеличаването на битрейта, освен качеството се увели-чава и дисковото пространство заемано от мр3-ката. Параметърът -h активира режима "по-високо качество с по-бавна производителност". --t опциите съдържат инфор-мацията за песента, която ще бъдат вложена в мр3-ката. Зa допълнителни опции: man lame.


      1. Декодиране на МР3-ки


За да "изпечете" аудшо диск от МР3-ки, ще трябва да ги преобразувате в некомпресиран уейв формат. XMMS и mpg123 подържат писането в уейв.


Запис на диска чрез XMMS:


  1. Стартирайте XMMS

  2. Щракнете с десен бутон, за да изведете менюто

  3. Изберете подменю Предпочитания (Preferences) от Опции (Options)

  4. Сменете изходния плъгин с Disk Writer Plugin

  5. Натиснете "Сonfigure"

  6. Изберете директория, в която ще записвате уейв файловете

  7. Заредете МР3-ките както обикновено, с звук на 100% и изключен еквилайзер.

  8. Натиснете Play - XMMS ще започне да работи, без да възпроизвежда звук. Вместо да свири ще записва в уейв файлове.

  9. След приключване, изберете отново плъгина по подразбиране


Записване с mpg123:


  1. Въведете mpg123 -s audio01.mp3 > audio01.pcm


XMMS записва в WAV, докато mpg123 преобразува в "суров" PCM формат. И двата типа файлове могат да се използват със cdrecord за създаване на аудио дискове.

Трябва да използвате PCM с burncd(8). Ако ползвате WAV файлове, ще забележите малък цъкащ звук в началото на всяка песен. Това е информационната част на WAV файла. Можете да го премахнете с програмката SoX (инсталира се от audio/sox порта или пакет):


% sox -t wav -r 44100 -s -w -c 2 track.wav track.raw


Прочетете Раздел 12.5 за повече информация относно "печките" във FreeBSD.






      16.4 Видео

написано от Ross Lipert


Тази област е нова и се развива с главоломна ско-рост. Бъдете търпеливи. Не всичко ще работи така галдко както в областта на звука.

Преди да започнете, трябва да знаете модела и чипсета на вашата видеокарта. Xfree86 подържа много карти, но малко са онези даващи добри резултати. За да получите броят разширения/формати (extensions), подържани от вашия Х сървър, използвайге командата xdpyinfo(1), докато той работи.

Добра идея е да имате малък MPEG файл за тестване на различни плейъри и опции. Тъй като някои DVD плейъри ще търсят по подразбиране за DVD-та в /dev/dvd или имат това устройство програмирано в тях, полезно е да създадете символни връзки към съответните устройства:


# ln -sf /dev/acd0c /dev/dvd

# ln -sf /dev/racd0c /dev/rdvd


Върху FreeBSD 5.x,използваща devfs(5), нещата стоят по следния начин:


# ln -sf /dev/acd0c /dev/dvd

# ln -sf /dev/acd0c /dev/rdvd


В допълнение, DVD декриптирането изискващо специ-ални DVD функции се нуждае от права за запис върху DVD устройствата.

Някои от портовете разчитат на следните параметри в ядрото, за да се компилират правилно. Преди да опитвате да ги компилирате, добавете следните два реда към конфигурацията на ядрото, компилирайте го и рестар-тирайте:


option CPU_ENABLE_SSE

option USER_LDT


За да подобрите интерфейса на споделената памет на Х11, се препоръчва някои параметри на sysctl(8) да бъдат увеличени:


kern.ipc.shmax=67108864

kern.ipc.small=32768


      1. Определяне на възможностите на видеокартата


Има няколко начина за гледане на видео под Х11. Това кое ще работи, в голяма степен зависи от хардуера. Второ обработката на видео под Х получава много внима-ние напоследък и с всяка нова негова версия може да има значителни подобрения.

Ето списък на често срещани видео интерфейси:


  1. Х11: обикновен Х11, използващ споделена памет

  2. XVideo: разширение на Х, подържащо видео в който и да чертан обект

  3. SDL:Simple Direct Media Layer (Прост пряк медиен достъп)

  4. DGA: Direct Graphics Access (Директен графичен достъп)

  5. SVGALib: конзолен интерфейс на ниско ниво


        1. Xvideo


XFree86 4.x има разширение, наречено Xvideo (из-вестно още като Xvideo, xv, Xv), позволяващо видеото да се изобразява директно в рисувани обекти чрез специално ускорение. Това разширение осигурява много добро качество на видео възпроизводството дори на слаби машини (например на лаптопа ми - РІІІ/400 Mhz). За нещастие, списъкът на картите подържащи този формат за момента е:


  1. 3DFX Voodoo 3

  2. Intel i810 and i815

  3. някои S3 chips (като Savage/IX и Savage/MX)


В случай, че вашата карта не е от тези не унивайте. С всяко ново издание се добавя подръжка на нови карти. За да проверите дали разширението върви, използвайте xvinfo:


% xvinfo


Xvideo работи при вас, ако резултатът от xvinfo наподобява:


X-Video Extension version 2.2

screen #0

Adaptor #0: "Savage Streams Engine"

number of ports: 1

port base: 43

operations supported: PutImage

supported visuals:

depth 16, visualID 0x22

depth 16, visualID 0x23

number of attributes: 5

"XV_COLORKEY" (range 0 to 16777215)

client settable attribute

client gettable attribute (current value is 2110)

"XV_BRIGHTNESS" (range -128 to 127)

client settable attribute

client gettable attribute (current value is 0)

"XV_CONTRAST" (range 0 to 255)

client settable attribute

client gettable attribute (current value is 128)

"XV_SATURATION" (range 0 to 255)

client settable attribute

client gettable attribute (current value is 128)

"XV_HUE" (range -180 to 180)

client settable attribute

client gettable attribute (current value is 0)

maximum XvImage size: 1024 x 1024

Number of image formats: 7

id: 0x32595559 (YUY2)

guid: 59555932-0000-0010-8000-00aa00389b71

bits per pixel: 16

number of planes: 1

type: YUV (packed)

id: 0x32315659 (YV12)

guid: 59563132-0000-0010-8000-00aa00389b71

bits per pixel: 12

number of planes: 3

type: YUV (planar)

id: 0x30323449 (I420)

guid: 49343230-0000-0010-8000-00aa00389b71

bits per pixel: 12

number of planes: 3

type: YUV (planar)

id: 0x36315652 (RV16)

guid: 52563135-0000-0000-0000-000000000000

bits per pixel: 16

number of planes: 1

type: RGB (packed)

depth: 0

red, green, blue masks: 0x1f, 0x3e0, 0x7c00

id: 0x35315652 (RV15)

guid: 52563136-0000-0000-0000-000000000000

bits per pixel: 16

number of planes: 1

type: RGB (packed)

depth: 0

red, green, blue masks: 0x1f, 0x7e0, 0xf800

id: 0x31313259 (Y211)

guid: 59323131-0000-0010-8000-00aa00389b71

bits per pixel: 6

number of planes: 3

type: YUV (packed)

id: 0x0

guid: 00000000-0000-0000-0000-000000000000

bits per pixel: 0

number of planes: 0

type: RGB (packed)

depth: 1

red, green, blue masks: 0x0, 0x0, 0x0


Имайте в предвид, че изброените формати като YUV2, YUV12 и други, не присъстват във всяко интерпретиране на Xvideo и тяхното отсъствие може да се отрази на продуктивността на някои програми.

Ако получите нещо подобно на:


X-Video Extension version 2.2

screen #0

no adaptors present


тогава вероятно XVideo не се подържа от вашата карта. Неговата липса означава, че ще ви бъде по-трудно да посрещнете изчислителните нужди на видеообработката. В зависимост от картата и процесора ви, можете да постигнете задоволителни резултати. Ще се наложи да прочетете глава 16.4.3 за да видите как да подобрите производителността.


        1. Simple Directmedia Layer


Simple Directmedia Layer, SDL, бе предназначен да бъде съвместим формат между Windows, BeOS и UNIX, за писане на съвместими програми за аудио и видео. SDL осигурява режим на достъп от ниско ниво до хардуера, което понякога е по-ефективно от Х. SDL се намира в devel/sdl12.


        1. Direct Graphics Access


Direct Graphics Access е разширен инетрфейс на Х, позволяващ Х да бъде прескочен и фреймбуфера да бъде променян директно. Понеже разчита на разпределение на паметта от ниско ниво за да постигне този ефект, програмите които го ползват трябва да бъдат стартирани с root права.

DGA може да се пробва и тества чрез dga(1). Когато dga върви, тя променя цвета на монитора, когато се натисне кой да е клавиш. За изход натиснете q.


      1. Портове и пакети, свързани с видео


Тази глава обсъжда софтуера от порт колекцията и пакетите, които могат да се използват за гледане на филми. Възпроизводството на видео е много активна зона от софтуерната разработка. Възможностите на различните програми са склонни да се отклоняват от описаното тук

Първо, важно е да се знае че повечето от видео приложенията под FreeBSD бяха разработени като прило-жения за Линукс през изминалата година. Поради тази причина, те са много експериментални и пълни с линук-сизми, което може да попречи да работят на 100% под FreeBSD.

Под "експериментални" имам в предвид, че трябва да очаквате плейърите, (де)кодиращите програми да имат бъгове, несъвместимости с някои програми.

Ето кратък списък на нещата, които искам да кажа:


1. Програма не може да възпроизведе файл, създаден от друга програма

2. Програмата не може да възпроизведе файла, който тя е създала.

3.Същата програма на две машини, компилирана за всяка една от тях, дава различно качество на възпроиз-водство.

      1. На пръв поглед, прост филтър за мащабиране на образа дава ужасен резултат,поради лошо написан режим на мащабиране

5.Програмата се дъни.

      1. Документацията не е инсталирана с портаи може да се открие или на уеб сайта или в PORTPATH/work/.


Под линуксизми имам в предвид, че има някои проблеми в следствие на начина по който те се влагат в Линукс дистрибуциите или някои характеристики на ядрото, възприети от авторите, понеже там е зоната, в която те разработват. Тези проблеми може да останат незабелязани и прескочени от хората, подържащи порт колекцията. От своя страна може да доведе до следните неприятности:


1.Употребата на /proc/cpuinfo за откриване на характеристиките на процесора.

2.Неправилна употреба на нишките, причиняващо зависване на програмата при изход, вместо наистина да приключи.

3.Софтуеърът с който е свързано приложението все още не е в порт колекцията.


Засега въпросните разработничици съдействат на хората подържащи порт колекцията, с цел минимизиране на неприятностите по портването.


16.4.2.1 MPlayer


MPlayer е наскоро разработен и бързо развиващ се видео плейър.Целите на екипа на MPlayer са скорост и гъвкавост върху Линукс и други Юникси. Проектът започна, когато на основателя на екипа му омръзна от калпавата продуктивност на наличните тогава плейъри.

Някои ще кажат ще GUI-то е било пожертвано за сметка на производителността, но веднъж щом свикнете с въвеждането на опциите от команден ред и клавиатурните макроси, ще сте много доволни.


16.4.2.1.1 Компилиране на Mplayer


MPlayer стои в multimedia/mplayer.Той прави мно-жество хардуерни проверки по време на компилирането. Резултатът е програма несъвместима с никоя друга машина. Ето защо е важно да инсталирате от портове, а не от пакети.

В добавка, многобройни опции могат да бъдат зададени на make, които могат да се видят в началото на компилирането.


# cd /usr/ports/multimedia/mplayer

# make


You can enable additional compilation optimizations

by defining WITH_OPTIMIZED_CFLAGS

You can enable GTK GUI by defining WITH_GUI.

You can enable DVD support by defining WITH_DVD.

You can enable SVGALIB support by defining WITH_SVGALIB.

You can enable VORBIS sound support by defining WITH_VORBIS.

You can enable XAnim DLL support by defining WITH_XANIM.


Ако имате x11-toolkits/gtk12 качени на вашата система, може да разрешите GUI-to. Иначе не си струва усилията. Ако възнамерявате на гледате CSS кодирани DVD-тa, трябва да разрешите подръжката им. Някои разумни опции са:


# make WITH_DVD=yes WITH_SVGALIB=yes


По време на сегашната ревизия на наръчника, MPlayer порта ще изгради HTML документацията си и един изпълним файл – mplayer. Може също да бъде изграден с програма за кодиране - mencoder, която е програма за прекодиране на изображения. Промяна в конфигурационния файл може да я активира. Кодерът може да е активиран в следващите версии на порта. HTML документацията към Mplayer е много подробна. Ако читателят намира информацията за видео хардуер и интерфейси в тази глава оскъдни, то тази на Mplayer е много добре завършена алтернатива.

Задължително трябва да отделите време да прочетете упътването към Mplayer, ако търсите данни за подръжката на видео под Unix.


          1. Употреба на Mplayer


Всеки потребител на Mplayer трябва да създаде .mplayer поддиректория в домашния си каталог. За да създадете тази необходима директория, може да направите следното:


% cd /usr/ports/multimedia/mplayer

% make install-user


Опциите на Mplayer са описани в документацията му и маn страниците на вашата машина. В този раздел ще покажем част от най-често използваните. За да гледате даден файл, например testfile.avi през едни от много-бройните видео интерфейси, задайте -vo опцията:


% mplayer -vo xv testfile.avi

% mplayer -vo sdl testfile.avi

% mplayer -vo x11 testfile.avi

# mplayer -vo dga testfile.avi

# mplayer -vo 'sdl:dga' testfile.avi


Струва си да опитате всички тези опции, понеже тяхното относително представяне зависи от много фактори и значително ще зависи от хардуера. За да гледате от DVD, заменете testfile.avi с -dvd N; където N е номера на заглавието и DEVICE е пътят към устройството в /dev, към което е прикачен DVD-ROM-а. Например, за да гледате трети филм от /dev/dvd:


# mplayer -vo dga -dvd 2 /dev/dvd


За спиране, пауза, придвижване напред и прочие, прочетете за клавишните комбинации, като пуснете mplayer -h или прочетете маn страницата за плейъра.

Допълнителни важни опции за гледане са: -fs -zoom, което указва заемане на цял екран и -framedrop, спомагаща обработката на видео. Ако искате да спестите писане в команден ред, можете да създадете файл .mplayer/config и укажете опциите по подразбиране там:


vo=xv

fs=yes

zoom=yes


На всичкото отгоре, mplayer може да бъде използван за копиране на DVD филм в .vob файл. Пример за запис на второто заглавие от DVD:


# mplayer -dumpstream -dumpfile out.vob -dvd 2 /dev/dvd


Изходният файл out.vob е в MPEG формат и може да бъде обработван от други програми описане в този раздел.


          1. mencoder


Ако изберете да компилирате mencoder, имайте в предвид, че все още е експериментален. Преди да го използвате, добра идея е да се запознаете с параметрите му от HTML документацията. Има и ман страница, но не е много полезна без HTML документацията. Съществуват безброй начини за подобряването на качеството, понижите битрейта, сменяте форматите. Някои от тези хватки могат да окажат съществена разлика при видеообработката на вашия файл. Ето някои примери за отскок. Първо просто копиране:


% mencoder input.avi -oac copy -ovc copy -o output.avi


Преобразуване на input.avi в the MPEG4 кодек с MPEG3 звук ( нужно е да сте инсталирали audio/lame):

Лесно е да се открият примери, в които изходният файл е невъзпризводим дори от самия mplayer. Следова-телно, ако искате да копирате във файл, придържайте се към опцията -dumpfile в mplayer.


% mencoder input.avi -oac mp3lame -lameopts br=192\

-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi


Резултатът е файл, въпроизводим от mplayer и xine. input.avi може да бъде заместен с -dvd 1 /dev/dvd и изпълнявайки този низ като root да прекодирате директно DVD филм. Понеже първият път вероятно ще бъдете разочарован от резултата, запазете DVD-то във файл и работете с него.


        1. Хine


Видеоплейърът Хine е широкоспектърен проект, челящ не само да се наложи като единствено видео решение, но също така да създаде използваема базова библиотека и модулен изпълним файл, чиито възможности могат да разширени с плъгини. Хine може да бъде инсталиран как-то пакет, така и като порт – graphics/xine.

Добрите новини са, че горното твърдение до голяма степен е вярно. Видеоплейърът Хine все още не е доизчистен, но има ясно очертано добро начало. В действителност, xine изисква или бърз процесор с бърза видеокарта или подръжка на разширението Xvideo. GUI-то е използваемо, но е малко тромаво.

По време на написването на наръчника, няма входящи модули вървящи с xine, които да възпроизвеждат CSS кодирани DVD-та. Има версии, компилирани от трети лица, разполагащи с такива модули,но нито една от тях не е във FreeBSD Ports Collection.

Сравнен с MPlayer, xine е по-потребителски дружелюбен, но същевременно отнема част от финните настройки от потребителя. Видеоплейърът Хine може да има много по-лошо представяне на не-XVideo интерфейси и разполага с много малко негови заместители. FAQ-ът горещо препоръчва да разполагате с видео карти подър-жащи Xvideo. Хine може да бъде стартиран с:


% xine


Менютата могат да бъдат използвани да отворите файл или може да го стартирате да възпроизведе файл незабавно без GUI-то с командата:


% xine -g -p mymovie.avi


        1. Тranscode програмките


Тranscode не е плейър, а набор от инструменти за прекодиране на .avi и .mpg файлове. С transcode, можете да сливате и поправяте видео файлове с инструменти от команден ред, използвайки stdin/stdout поточните интерфейси.

Подобно на Mplayer,transcode е много експеримента-лен софтуер, който трябва да бъде изграден от порта graphics/transcode. Той използва множество опции към make. Аз (авторът, бел.прев.) препоръчвам:


# make WITH_LIBMPEG2=yes


Ако планирате да инсталирате multimedia/avifile, тогава добавете WITH_AVIFILE опцията към make, както е показано тук:


# make WITH_AVIFILE=yes WITH_LIBMPEG2=yes


Ето два примера за употребата на transcode за видео преобразуване, което се увенчава с премащабиран формат. Първият пример разглежда прекодиране към openDIVX AVI файл, докато вторият към MPEG format.


% transcode -i input.vob -x vob -V -Z 320x240 \

-y opendivx -N 0x55 -o output.avi

% transcode -i input.vob -x vob -V -Z 320x240 \

-y mpeg -N 0x55 -o output.tmp

% tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1


Има man страница за transcode, но за различните tc* програмки (като tcmplex), които също са инсталирани, единственото налично разяснение е резултатът от пускането на -h параметъра.

За сравнение, transcode върви значително по-бавно от mencoder, но вероятността да получите файл възпроизводим от повече приложения. Аз (авторът, бел. прев.) мога да просвирвам transcode-ирани MPEG на по-стари версии на Windows Media Player и Apple Quicktime, например.


      1. Допълнително четиво


Нямам съмнение, че в рамките на година, голяма част от информацията ще бъде остаряла. Видеото вероятно ще бъде по-малко проблематично, ще работи по-добре и ще има порт,превръщащ FreeBSD в DVD, PVR и виртуално A/V студио. Дотогава, онези които желаят да извадят най-доброто от A/V възможностите на FreeBSD, ще трябва да съберат знанието от няколко FAQ-а и наръчници и полз-ват няколко различни приложения. Този раздел е да укаже на читателя някои препратки, за да научи повече, ако поднесената информация му се струва недостатъчна

Документацията на Mplayer e много детайлна. Тя трябва да бъде притежавана от всеки, желаещ да придобие знания в дълбочина за видео под Unix.MPlayer мейл лис-тата е враждебна към всеки, който не си е направил труда да прочете документацията, така че ако възнамеря-вате да съобщите за бъгове, RTFM (ЧШУ – Четете Ш******* Упътване – бел. на прев).

xine HOWTO съдържа глава за подобрение на продук-тивността, валидна за всички плейъри.

Накрая има някои обещаваши програми, които читате-лят може да пробва: