Журнал LinuxFormat - перейти на главную

LXF157:Ко­ди­ро­вание ви­део. Handbrake/FFmpeg

Материал из Linuxformat
Перейти к: навигация, поиск


По­де­ли­тесь от­сня­тым ви­део с друзь­я­ми, не блу­ж­дая в ла­би­рин­те фор­ма­тов.

Содержание

Кон­вер­ти­ру­ем ви­део

На­до­ев всем со­се­дям сво­им до­маш­ним ви­део, Джо­на­тан Ро­бертс ду­ма­ет, как по­ка­зать его все­му ми­ру.

239287.png

Ка­ж­дый, кто хоть раз ви­дел ком­пь­ю­тер, ска­жет: это шту­ка слож­ная. Не­со­вмес­ти­мо­сти, возникаю­щие тут и там, лишь до­бав­ля­ют про­блем. Од­на из них, из­ряд­но до­са­ж­даю­щая поль­зо­ва­те­лям Linux – это муль­ти­ме­диа-фай­лы.

По юри­ди­че­­ским со­об­ра­жениям, мно­гие ди­ст­ри­бу­ти­вы по умол­чанию не вклю­ча­ют под­держ­ку MP3 – вам нуж­но вый­ти в Ин­тернет и за­нять­ся этим са­мо­стоя­тель­но. А фор­мат, с ко­то­рым Linux ра­бо­та­ет «из ко­роб­ки» – Vorbis – не слиш­ком по­пу­ля­рен на пор­та­тив­ных плей­е­рах.

Увы, это лишь один при­мер несо­вмес­ти­мо­сти, ка­саю­щей­ся муль­ти­ме­диа. Пе­рей­дем в Сеть: из че­ты­рех основ­ных брау­зе­ров, три под­дер­жи­ва­ют фор­мат WebM, пред­ло­жен­ный Google, а один – H.264. Да­же ес­ли об­ра­тить­ся к те­ле­ви­зо­рам и DVD, вы­яснит­ся, что есть два кон­ку­ри­рую­щих стан­дар­та, PAL и NTSC, от­ли­чаю­щих­ся по час­то­те раз­верт­ки и раз­ме­ру кад­ра.

Ес­ли вы хо­ти­те, что­бы ва­ши муль­ти­ме­диа-дан­ные бы­ли доступ­ны на раз­лич­ных но­си­те­лях и плат­фор­мах, ра­но или позд­но вам при­дет­ся за­нять­ся пре­вра­щением од­но­го фор­ма­та в дру­гой. Тут-то вам и при­го­дит­ся эта ста­тья. Мы про­ве­дем вас че­рез джунг­ли муль­ти­ме­диа-фор­ма­тов и по­зна­ко­мим с мощ­ны­ми ин­ст­ру­мен­та­ми-кон­вер­то­ра­ми, что­бы вы справ­ля­лись с пре­об­ра­зо­ванием иг­раю­чи.

Мы изу­чим про­бле­му на кон­крет­ных при­ме­рах и при­меним все­воз­мож­ные ути­ли­ты, что­бы вы оценили диа­па­зон их воз­мож­но­стей. В ка­ж­дом кон­крет­ном слу­чае мы не толь­ко по­ка­жем вам, как ра­бо­та­ет про­грам­ма, но и пред­ста­вим наи­бо­лее важ­ные на­строй­ки, влияю­щие на раз­мер и ка­че­­ст­во ре­зуль­та­та.

Ар­хи­ва­ция DVD

Для на­ча­ла раз­бе­рем­ся, как за­ар­хи­ви­ро­вать ва­шу кол­лек­цию DVD. За го­ды мно­гие на­ко­пи­ли вну­ши­тель­ную под­бор­ку филь­мов, и пе­ре­нос их с оп­ти­че­­ских дис­ков на же­ст­кий – пер­вый шаг к про­смот­ру лю­би­мо­го ки­но на лю­бом из но­вей­ших уст­ройств, будь то iPad, мо­бильник или еще что. Есть раз­ные точ­ки зрения на сте­пень ле­галь­но­сти про­це­ду­ры кон­вер­ти­ро­вания DVD для лич­ных нужд, и мы здесь не бу­дем об­су­ж­дать взлом за­щи­ты от ко­пи­ро­вания. Но на­ши со­ве­ты при­го­дят­ся тем, у ко­го есть DVD с до­машним или об­ще­доступ­ным ви­део, на­при­мер, Big Buck Bunny (ко­то­рый мы и возь­мем в ка­че­­ст­ве при­ме­ра).

Ес­ли вы хо­ти­те соз­дать иде­аль­ную ре­зерв­ную ко­пию DVD для восста­нов­ления в слу­чае сбоя, то са­мое про­стое – снять ISO-об­раз DVD-дис­ка. Это тот же ISO, в ко­то­ром вы ска­чи­вае­те но­вые ди­ст­ри­бу­ти­вы Linux, точ­ная ко­пия дис­ка, ко­то­рую в лю­бое вре­мя мож­но за­пи­сать на чис­тую «бол­ван­ку». В Gnome для это­го доста­точ­но вста­вить диск в при­вод, щелк­нуть по нему пра­вой кноп­кой и вы­брать Ско­пи­ро­вать диск [Copy Disc]. Вме­сто вы­бо­ра при­во­да, ку­да сле­ду­ет про­из­во­дить ко­пи­ро­вание, ука­жи­те Файл об­раза [File Image], и де­ло в шля­пе. В KDE то же са­мое вы­пол­ня­ет­ся в K3b: на эк­ране Па­ра­мет­ры ко­пи­ро­вания [Copy Disc Settings] есть оп­ция Соз­дать об­раз [Create Image Only].

Об­раз дис­ка мож­но про­иг­рать в ме­диа-плей­е­рах вро­де VLC или в ме­диа-цен­трах ти­па XBMC. Конеч­но, та­кие фай­лы зай­мут нема­ло мес­та – по 4-5 ГБ ка­ж­дый! Бо­лее то­го, они непе­ре­но­си­мы – по­про­буй­те за­гру­зить их на мо­биль­ный те­ле­фон или YouTube, и вы пой­ме­те, о чем мы.

Handbrake

Бо­лее удач­ным ре­шением бу­дет об­ра­тить­ся к про­грам­ме вро­де Handbrake, что­бы из­влечь глав­ную до­рож­ку ва­ше­го DVD и кон­вер­ти­ро­вать ее в со­вре­мен­ный фор­мат, на­при­мер, H.264. Та­кие фор­ма­ты при­ме­ня­ют мно­же­ст­во ухищ­рений – на­при­мер, со­хра­ня­ют лишь разницу ме­ж­ду со­седними кад­ра­ми – ра­ди умень­шения объ­е­ма ви­део при со­хранении ка­че­­ст­ва.

Handbrake не най­ти в ре­по­зи­то­ри­ях боль­шин­ст­ва ди­ст­ри­бу­ти­вов, но па­ке­ты для Fedora и Ubuntu есть на сай­те про­ек­та: http://handbrake.fr. Ска­чав файл и уста­но­вив про­грам­му, за­гляните в по­ша­го­вое ру­ко­во­дство – оно бы­ст­ро вве­дет вас в курс де­ла.

По умол­чанию Handbrake соз­да­ет ви­део, сжа­тое ко­де­ком H.264 со зву­ко­вой до­рож­кой в AAC, упа­ко­ван­ное в кон­тейнер MP4. Так вы сра­зу же по­лу­чае­те со­вмес­ти­мость со мно­ги­ми уст­рой­ст­вами, вклю­чая iКакЕгоТам, PS3 и XBox 360. По­лу­чен­ное ви­део мож­но бу­дет воспро­из­ве­сти и на ком­пь­ю­те­ре, уста­но­вив нуж­ные ко­де­ки (в Linux их под­дер­жи­ва­ет, на­при­мер, VLC или gstreamer-ffmpeg). H.264 обес­пе­чи­ва­ет хо­ро­ший ба­ланс ме­ж­ду объ­е­мом и ка­че­­ст­вом: ре­зуль­ти­рую­щий файл бу­дет ку­да мень­ше DVD при сход­ной кар­тин­ке. AAC обыч­но об­го­ня­ет по ка­че­­ст­ву зву­чания MP3 при том же раз­ме­ре фай­ла.

Кро­ме то­го, вы мо­же­те пе­рей­ти во вклад­ки Ви­део [Video] и Ау­дио [Audio], рас­по­ло­жен­ные в цен­тре ин­тер­фей­са Handbrake. Здесь за­да­ют­ся па­ра­мет­ры Ка­че­­ст­ва [Quality], но пре­ж­де чем брать­ся за них, раз­бе­рем­ся, что они зна­чат. На вклад­ке Ви­део со­от­вет­ст­вую­щие оп­ции на­хо­дят­ся в пра­вой час­ти ок­на. Вы­би­рать мож­но ме­ж­ду Задан­ным ка­че­­ст­вом [Constant Quality] и Бит­рей­том (kbps) [Bitrate (kbps)]. От­ли­чие ме­ж­ду ними в том, что пер­вый (вы­бран по умол­чанию) по­зво­ля­ет кон­тро­ли­ро­вать ка­че­­ст­во ви­део, а вто­рой – его раз­мер. Со­глас­но ру­ко­во­дству Handbrake, Задан­ное ка­че­­ст­во ра­бо­та­ет бы­ст­рее и соз­да­ет мень­шие по объ­е­му фай­лы; ре­ко­мен­ду­ем его. Влияние пол­зун­ка на ре­зуль­тат, од­на­ко, не оче­вид­но. По­зволь­те вам объ­яснить: чем боль­ше циф­ра, тем ху­же ка­че­­ст­во. Зна­чение Ка­че­­ст­ва, рав­ное 0, соз­да­ет несжа­тое ви­део, но вам это­го не нуж­но, по­сколь­ку ито­го­вый файл бу­дет боль­ше ори­ги­на­ла, при том же ка­че­­ст­ве!

Так ка­кое же зна­чение (из диа­па­зо­на 51 – 0) пред­по­честь? Ес­ли вы ко­пи­руе­те DVD или лю­бой дру­гой но­си­тель стан­дарт­но­го раз­ре­шения, при зна­чении по­ряд­ка 20 вы уже не смо­же­те от­ли­чить ко­пию от ори­ги­на­ла на глаз.

При ко­пи­ро­вании ис­точника вы­со­ко­го раз­ре­шения чис­ло мож­но уве­ли­чить до 22, что­бы раз­мер фай­ла по­лу­чил­ся при­ем­ле­мым. При зна­чении Ка­че­­ст­ва, рав­ном 20, мы сжа­ли 573,4-МБ ори­ги­нал до 152 МБ и не за­ме­ти­ли ника­кой разницы в воспри­ятии.

Ес­ли же для вас кри­ти­чен раз­мер фай­ла, по­про­буй­те Бит­рейт. В этом слу­чае ак­ти­ви­ру­ет­ся еще од­на оп­ция – ко­ди­ро­вание в два про­хо­да. При за­дан­ном бит­рей­те, это по­вы­ша­ет ка­че­­ст­во: сна­ча­ла файл ана­ли­зи­ру­ет­ся и вы­яв­ля­ют­ся кад­ры, тре­бую­щие мень­ше дан­ных, что по­зво­ля­ет вы­де­лить ме­сто в об­щем по­то­ке для дру­гих, «под­виж­ных» кад­ров, тре­бую­щих боль­ше дан­ных. Един­ст­вен­ный ми­нус – ко­ди­ро­вание длит­ся вдвое боль­ше вре­мени. В на­ших тес­тах с ко­ди­ро­ванием в два про­хо­да мы не смог­ли за­ме­тить от­ли­чий ме­ж­ду вы­ход­ным фай­лом, сжа­тым с бит­рей­том 1400 кбит/сек, и ис­ход­ным DVD. Да­же на уровне 800 кбит/сек за­ме­тить от­ли­чия бу­дет очень непро­сто.

Сек­ре­ты жан­ра

Еще один мо­мент, ко­то­рый на­до иметь в ви­ду при вы­бо­ре ка­че­­ст­ва ко­ди­ро­вания – тип ви­део, ко­то­рое вы сжи­мае­те. Ес­ли оно со­дер­жит ди­на­мич­ные сце­ны со мно­же­ст­вом лю­дей, для по­лу­чения ра­зум­но­го ка­че­­ст­ва не обой­тись без вы­со­ко­го бит­рей­та. Ес­ли это запись ин­тер­вью, вас, ве­ро­ят­но, уст­ро­ит и бо­лее низ­кий. Ка­че­­ст­во зву­ка на­страи­ва­ет­ся на вклад­ке Ау­дио [Audio]. Как уже го­во­ри­лось, вы­бран­ный по умол­чанию AAC пред­ла­га­ет непло­хое ка­че­­ст­во при сравнитель­но неболь­шом раз­ме­ре фай­ла. Но ес­ли вы хо­ти­те смот­реть фильм на уст­рой­ст­ве с при­лич­ной ау­дио­сис­те­мой – на­при­мер, DVD-плей­е­ре с под­клю­чением Hi-Fi – тогда на­строй­ки мож­но под­кру­тить. 160 кбит/сек, вы­бор по умол­чанию, ана­ло­ги­чен MP3 среднего ка­че­­ст­ва. Вы­со­ко­ка­че­­ст­вен­ная му­зы­ка, про­да­вае­мая на Amazon и iTunes, име­ет бит­рейт 256 кбит/сек. По на­ше­му мнению, вы­ше этой точ­ки дей­ст­ву­ет за­кон убы­ваю­ще­го вы­иг­ры­ша, и хо­тя на хо­ро­шей ау­дио­сис­те­ме вы смо­же­те уло­вить раз­ли­чия до зна­чений по­ряд­ка 320 кбит/сек, уве­ли­чи­вать бит­рейт даль­ше смыс­ла уже нет.

Для справ­ки, при за­пи­си зву­ка на DVD ред­ко ис­поль­зу­ет­ся бит­рейт вы­ше 448 кбит/сек, так что сверх это­го за­ма­хи­вать­ся неза­чем. На са­мом де­ле, ес­ли вы хо­ти­те со­хранить ка­че­­ст­во ис­ход­но­го ау­дио, мож­но про­сто вы­брать оп­цию Auto Passthru, из­вле­каю­щую звук из ис­точника без из­менений.

Бы­ва­ет, что ори­ги­нал – не DVD, а, на­обо­рот, файл на же­ст­ком дис­ке или кар­те па­мя­ти ви­део­ка­ме­ры. Ес­ли вы хо­ти­те за­пи­сать его на DVD, что­бы по­ка­зать от­сня­тое се­мье и друзь­ям на боль­шом ТВ, при­дет­ся кон­вер­ти­ро­вать его в нуж­ный фор­мат. Бла­го­да­ря ути­ли­те ffmpeg, это не слож­но. Во-пер­вых, убе­ди­тесь, что ffmpeg есть в сис­те­ме – не все ди­ст­ри­бу­ти­вы вклю­ча­ют его по умол­чанию; на­при­мер, в Fedora по­тре­бу­ет­ся ак­ти­ви­ро­вать ре­по­зи­то­рий RPMFusion. По­иск в Ин­тернете под­ска­жет, что следует под­клю­чить в ва­шем слу­чае. По­сле это­го – при­сту­пай­те к ко­ди­ро­ванию. Ffmpeg пред­ла­га­ет за­ме­ча­тель­ную оп­цию, -target: с ее по­мо­щью мож­но при­ка­зать ffmpeg соз­да­вать вы­ход­ной файл, удов­ле­тво­ряю­щий тре­бо­ваниям стан­дарт­ных спе­ци­фи­ка­ций: DVD, VCD и т. п. Что­бы восполь­зо­вать­ся ею, на­бе­ри­те

ffmpeg -i /путь/к/ис­ход­ни­ку.avi -target pal-dvd /путь/к/ре­зуль­та­ту.avi

Вот и все – об осталь­ном по­за­бо­тит­ся ffmpeg! Де­та­ли це­ле­во­го фор­ма­та мож­но из­ме­нять – глав­ное, что­бы они не кон­флик­то­вали со спе­ци­фи­ка­ция­ми. Ска­жем, ес­ли вам ну­жен бит­рейт по­боль­ше, ис­поль­зуй­те ко­ман­ду

ffmpeg -i /путь/к/ис­ход­ни­ку.avi -target -pal-dvd -b 2000K /путь/к/ре­зуль­та­ту.avi

Так вы соз­да­ди­те файл, со­вмес­ти­мый с PAL DVD, имею­щий бит­рейт 2000 кбит/сек. Все, что мы ранее го­во­ри­ли о ка­че­­ст­ве, оста­ет­ся спра­вед­ли­вым (уч­ти­те, что PAL – те­ле­ви­зи­он­ный стан­дарт Ев­ро­пы и Азии, а в Се­вер­ной Аме­ри­ке при­ме­ня­ет­ся NTSC).

' Шаг за шагом: Кодируем видео ‘
(thumbnail)
1 Ука­жи­те при­вод На­жми­те кноп­ку Ис­точник [Source] ввер­ху сле­ва и вы­бе­ри­те при­вод в спи­ске Об­на­ру­жен­ные DVD-уст­рой­ст­ва [Detected DVD Devices] внизу ок­на.
(thumbnail)
2 Вы­бе­ри­те, что ко­пи­ро­вать. По­сле то­го, как Handbrake изу­чит диск, вам пред­ло­жат вы­брать ро­лик. Са­мый длин­ный из них и есть глав­ная до­рож­ка. Вам, ве­ро­ят­но, нуж­на она.
(thumbnail)
3 Ска­жи­те, ку­да ко­пи­ро­вать. Да­лее, за­дай­те ме­сто­по­ло­жение и имя для ре­зуль­ти­рую­ще­го фай­ла. Ука­жи­те так­же фор­мат (мож­но MP4) и ак­ти­ви­руй­те оп­ти­ми­за­цию для Web, ес­ли ро­лик бу­дет раз­ме­щен он­лайн, что­бы уско­рить по­то­ко­вое ве­щание.
(thumbnail)
4 Оп­ре­де­ли­тесь с ка­че­­ст­вом. Ес­ли эта ко­пия де­ла­ет­ся не для кон­крет­но­го уст­рой­ст­ва, вы­бе­ри­те что-то из Стан­дарт­ных [Regular] пре­дуста­но­вок. При­ла­га­тель­ные Нор­маль­ный [Normal] и Вы­со­кий [High] ка­са­ют­ся за­трат на де­ко­ди­ро­вание: High даст ка­че­­ст­вен­ный файл ма­ло­го раз­ме­ра це­ной боль­ше­го по­треб­ления ре­сур­сов.
(thumbnail)
5 Не­мно­го рас­слабь­тесь На­стро­ив все по сво­ему вку­су, на­жми­те Пуск [Start] и при­го­товь­те ко­фе – или кок­тейль, как пред­ла­га­ет Handbrake. Ко­ди­ро­вание тре­бу­ет вре­мени.
(thumbnail)
6 Ди­ви­тесь ре­зуль­та­ту! За­кон­чив ко­ди­ро­вание, взгляните на ре­зуль­ти­рую­щий файл и уди­ви­тесь его раз­ме­ру. Про­смот­ри­те его в VLC или дру­гом плей­е­ре; и уди­ви­тесь ка­че­­ст­ву!

Ви­део для Се­ти

Еще одним, и по­жа­луй, са­мым по­пу­ляр­ным ме­стом для об­ме­на до­машними ви­део­за­пи­ся­ми яв­ля­ет­ся Ин­тернет. К со­жа­лению, те несо­вмес­ти­мо­сти, о ко­то­рых го­во­ри­лось в на­ча­ле ста­тьи, вста­ют здесь в пол­ный рост.

Про­стей­ший путь по­де­лить­ся кон­тен­том он­лайн – сер­ви­сы вро­де YouTube или Vimeo. Оба принима­ют ви­део раз­лич­ных фор­ма­тов, так что, кро­ме слу­ча­ев, когда вы храните его в ISO или VOB, про­блем с вы­груз­кой быть не долж­но. Од­на­ко и тот, и дру­гой сер­ви­сы име­ют на­бор ре­ко­мен­да­ций для дости­жения наи­луч­ших ре­зуль­та­тов. Vimeo пред­по­чи­та­ет ко­дек H.264, бит­рейт 2000 кбит/сек и раз­мер 640 × 480 для стан­дарт­но­го раз­ре­шения или 5000 кбит/сек и 1280 × 720 – для вы­со­ко­го (в слу­чае Full HD – 1920 × 1080).

Как соз­дать ви­део, удов­ле­тво­ряю­щее этим тре­бо­ваниям? Естествен­но, с по­мо­щью ffmpeg. Взгляните на ко­ман­ду:

ffmpeg -i /путь/к/ис­ходнику.avi -vcodec libx264 -b 2000K -s 640 × 480 /путь/к/ре­зуль­та­ту.m4v

Она соз­да­ет ви­део стан­дарт­но­го раз­ре­шения, за­ко­ди­ро­ван­ное в H.264 ко­де­ком x.264, с бит­рей­том 2000 кбит/сек и раз­ме­ром кад­ра 640 × 480, в ука­зании ко­то­ро­го, прав­да, нет смыс­ла, ес­ли толь­ко вы не умень­шае­те кадр – в про­тив­ном слу­чае, по­вы­шения ка­че­­ст­ва жда­ть не приходится.

ffmpeg по­зво­ля­ет да­же скон­вер­ти­ро­вать звук в со­от­вет­ст­вии с тре­бо­вания­ми Vimeo и YouTube:

ffmpeg -i /путь/к/ис­ход­ни­ку.avi -vcodec libx264 -b 2000K -acodec aac -ab 256K /путь/к/ре­зуль­та­ту.m4v

Как нетруд­но до­га­дать­ся, здесь соз­да­ет­ся вы­ход­ной файл со зву­ко­вой до­рож­кой в AAC с бит­рей­том 256 кбит/сек.

Ffmpeg под­дер­жи­ва­ет ог­ром­ное чис­ло фор­ма­тов. Что­бы уз­нать, на­сколь­ко ог­ром­ное, или уточнить, воз­мож­на ли тре­буе­мая кон­вер­та­ция, про­сто вы­полните ffmpeg -codecs и по­смот­ри­те, что получится.


Персональные инструменты
купить
подписаться
Яндекс.Метрика