If-Koubou

OTT Ръководство за кодеци, контейнерни формати и транскодиране

OTT Ръководство за кодеци, контейнерни формати и транскодиране (Компютърни съвети)

Ако заглавието на тази статия вече не нарани главата ти, то останалата част от нея определено ще бъде. Е, надявам се, че мога да го обясня по начин, който има смисъл за нетехническия човек. Пиша тази статия за видео / аудио кодеци, защото се озовах объркан, когато се опитвах да я обясня на приятел един ден.

Какво точно е кодек? Знам, че се нуждаете от тях, за да играете филм тук и там, но какво по дяволите е наистина? Това, което наистина ме обърка, бяха всички термини, за които съм чувал, но никога не разбрах: H.264, DivX, MP4, AVI, MPEG-2, AVCHD, AAC, OGG, MKV и т.н. След много четене и учене разбрах, че света на аудио и видео кодеците и форматите на контейнерите е много объркващо. Всъщност дори не знаех разликата между кодека и контейнерния формат, докато започнах да проучвам.

Няма да навлизам в много подробности, само защото темата започва да става много бързо. Наистина ли пука, ако 1 час RAW некомпресиран 1080p 60 кадъра в секунда видео изяжда почти 500 ГБ пространство за съхранение? Вероятно не.

Какво представлява кодекът?

И така, какво точно е кодек и какво прави? Най-простият начин е, че кодекът е енкодер / декодер или, в неговата оригинална форма, компресор (co) - декомпресор (dec). Така че точно това прави един кодек: отнема цифров файл и го компресира (или кодира) за съхранение и го декомпресира (или декодира) за гледане или прекодиране. Ще ви кажа каква е прекодирането малко по-късно, нека да не бъркаме това рано.

Важното е да разберете, че кодекът е нещо като спецификация за това как битстриймът трябва да изглежда. Какво е битстрийм? За да не станем много технически, трябва да се подреди поредицата от байтове за този конкретен кодек. Всеки кодек има специфичен набор от указания. Например, тя може да определи ширината, височината, съотношението и т.н. Проверете тази страница, но не четете твърде много или главата ви ще боли:

http://www.cs.cf.ac.uk/Dave/Multimedia/node262.html

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

Защо дори се нуждаем от това компресиране и декомпресия? Както споменах по-горе, RAW некомпресиран 1080p файл е почти огромен 500GB само за един час. Ще имате нужда от собствен център за данни, за да съхранявате всичките си семейни видеоклипове, ако всичко е записано в този формат. Това е мястото, където компресията влиза в игра. Съществуват различни видове компресиране, което се превежда в различни видове кодеци. И така, какви са някои популярни кодеци?

Популярни кодеци

H.264 (MPEG-4 част 10 AVC) - Това също е официално известно като MPEG-4 Part 10, но H.264 е това, което обикновено чувате. Да, има няколко имена за едно и също нещо. H.264 е най-популярният формат за кодиране на видеоклипове. H.264 предлага най-доброто от всички светове: по-малки размери на файловете с по-високо качество.

Отново, помнете, че H.264 е само кодек, няма да намерите файлове с разширения .h264. Това са онези формати за контейнери, които ще обясня в секцията по-долу. Този кодек се използва навсякъде от смартфони до цифрови видеокамери до Blu-ray дискове. Също така се използва за предоставяне на много уеб видео днес, заради способността му да ви даде чудесно качество на изображението с високо съотношение на компресия и ниска скорост, което означава по-малко напрежение за стрийминг сървъри.

Той също така е силно поддържан и вероятно ще бъде най-популярният кодек за дълго време. Поддържа се от Apple, YouTube, HTML 5 и дори от Adobe Flash.

Единственият недостатък на H.264 е, че алгоритмите за компресиране са толкова добри, че е много по-бавно да се кодира видео в този формат. Ще научите повече за това, когато говорим за транскодиране надолу.

Както споменах по-горе, има няколко енкодера за един кодек. За кодека H.264 един от най-популярните енкодери е x264 от VideoLAN, същите хора, които създават VLC Media Player. x264 е свободен и с отворен код, но има и много комерсиални енкодери H.264. Няма значение как видео потокът се преобразува в този формат, всеки декодер на H.264 (като VLC) ще може да преглежда файла.

MPEG-2 - Все още имате голяма DVD колекция? Това е направено с помощта на MPEG-2 кодека. Това е доста старо, но много често. Другото място, където можете да намерите MPEG-2 компресия, е когато гледате тези HD канали, излъчвани безжично. Това е всичко компресиране на MPEG-2. Интересни неща, които трябва да знаем, нали?

Тъй като алгоритъмът за компресиране, използващ MPEG-2, е значително по-нисък от H.264, има предимството, че е много по-бързо да се кодира. Въпреки това, той никога не е работил за уеб стрийминг, защото при по-нисък битрейт качеството щеше бързо да се изчерпи и щеше да завърши с пикселизирано видео. Ето защо те излязоха с MPEG-4 Part 2.

MPEG-4 Част 2 - Вероятно си спомняте дните, когато всичко говори за DivX и Xvid, нали? Това са енкодери за формат MPEG-4 Част 2, известен още като H.263. Много от филмите, които сте изтеглили през деня, бяха компресирани с този кодек, защото ви даде добър размер на файла и поддържаше разумно качество. Единственият основен проблем обаче е, че съдържанието с висока разделителна способност все още страда от гледна точка на качеството на изображението и това е мястото, където H.264 споменах по-горе.

Windows Media Video - Това е основната версия на MPEG-4 кодеците на Microsoft. WMV 7 беше представен през 1999 г. и беше копие на MPEG-4 Част 2. По-късно WMV 8 и 9 дойде, следвани от VC-1, кодек, който най-често копира MPEG-4 Part 10 и понастоящем се използва в Blu-ray дискове също.Единствените други места, които виждате в WMV и VC-1, са предимно свързани с продукти на Microsoft, като Windows Movie Maker, Silverlight, HD DVD и Microsoft Expression Encoder и т.н.

Това са само популярни видео кодеци, а също и аудио кодеците, които влизат в игра, когато говорим за контейнери по-долу. Популярните аудио кодеци включват FLAC, AC3, Dolby Digital Plus, DTS-HD, ALAC и т.н. Както при видео, аудио кодеците имат свои собствени контейнерни формати като AIFF, WAV и др.

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

Формати на контейнерите

Когато възпроизвеждате файл в Windows Media Player или VLC или Quicktime или каквото и да е вашият медиен плейър по избор, обикновено отваряте формат на контейнер. Форматът или обвивката на контейнера е основно пакет от един или повече кодеци, видео или аудио или и двете. Контейнер се използва за добавяне на аудио заедно с видео и за да се уверите, че аудиото и видеото са синхронизирани перфектно. Контейнерът ще съдържа и друга информация, необходима от стрийминг сървър или от медийния плейър. Видео и аудио битовете са просто обвити в друг битстрийм.

Форматите на контейнерите са тези, където виждате общите файлови разширения, които всички ние използваме като MP4, MOV, WMV, AVI и т.н. Нека да преминем през някои от най-разпространените контейнери:

MP4 - Вероятно сте изтеглили песен, която има разширение .MP4, което е обвивка за много видео и аудио кодеци. Най-често се използва за обвиване на H.264 видео и AAC кодирано аудио. Също така поддържа MPEG-4 Part 2 и MPEG-2 видео кодеци също. Също така, аудиото може да бъде кодирано с други кодеци, различни от AAC.

AVI - Това е Microsoft контейнер формат от 1992 година. Той беше много популярен обратно в моя ден и все още е около доста малко. Ако правите каквото и да е кодиране, никога не трябва да използвате AVI контейнер формат. Първо, той не поддържа по-нови кодеци като H.264. Има и други важни проблеми, поради което не се използва вече.

ASF - Разширеният системен формат от Microsoft обикновено не използва разширението .SF файл. Вместо това ще видите, че повечето контейнери на ASF използват .WMA или .WMV. Ще видите тези файлове, ако използвате всички продукти на Microsoft. След като напуснете света на Microsoft, ще се сблъскате с проблеми при възпроизвеждането на файловете, особено ако използвате кодека H.264.

AVCHD - AVCHD е най-разпространеният формат на контейнера за HD камкордери. Видеоклипът обикновено е H.264 с аудио AC3 (Dolby Digital) или Linear PCM.

MKV - Напоследък изтегляш ли филм? Това вероятно е в MKV контейнерния формат, в който се помещават видеофайлове H.264. Множество инструменти поддържат MKV като Boxee, PS3 Media Server, XMBC, VLC и т.н., но все още не са толкова широко поддържани от другите формати на контейнери.

FLV - Това е Adobe Flash, който поддържа много различни кодеци, най-често срещани са H.264 и AAC. Flash видеоклипът е един от най-популярните начини, по които видеоклиповете се предават в интернет. Това губи основание заради HTML 5 и факта, че Apple няма да позволи на флаш да работи на която и да е от iDevice, но все още е много разпространена.

Съществуват и други формати на контейнера, като файловия формат QuickTime, OGG, WebM и т.н., но вие можете да получите снимката сега.

Транскодирането

Последното нещо, което трябва да разберете, е, че вероятно ще трябва да конвертирате AVCHD видеоклипа, който сте изтеглили от вашата видеокамера, в друг формат, който можете да импортирате в iTunes и да играете на вашия iPhone. Тъй като има толкова много кодеци и контейнерни формати, и всеки формат на контейнера може да има различни комбинации от видео и аудио кодеци, трябва транскодор, за да получите вида на файла, който искате за вашето устройство.

Има много транскодери, известни като "видеоконвертори": HandBrake, FFmpeg, SUPER, VirtualDub и т.н. Някои са платени, а някои са безплатни инструменти с отворен код. Някои инструменти, като HandBrake, ви дават предварително настройки, така че просто да изберете изходния файл и да изберете изходен формат като iPod или iPhone и щракнете върху Start (Старт). Той ще избира всички настройки, контейнер, кодек и т.н. за вас. Въпреки това, надявам се, след като прочетете тази публикация, сега разбирате малко повече и може да отидете за конвертиране на видеоклипове между форматите и да разберете основния процес малко по-добре. Наслади се!