Журнал 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)
Импорт папки. Без функции Catalogue можно и обойтись, но она поможет быстро найти фотографию.
(thumbnail)
Положите на место. Выберите каталог, куда нужно добавить папку.
(thumbnail)
Поиск. Через меню Metadata осуществляется поиск по дате, объективам, фокусу или другим данным EXIF.

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

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

Про­стей­ший путь по­де­лить­ся кон­тен­том он­лайн – сер­ви­сы вро­де 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 и по­смот­ри­те, что получится.


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