Als de titel van dit artikel je hoofd niet al doet pijn doen, dan zal de rest dat zeker doen. Nou, hopelijk kan ik het uitleggen op een manier die logisch is voor de niet-technische persoon. Ik schrijf dit artikel over video- / audiocodecs omdat ik mezelf in de war raakte toen ik het op een dag aan een vriend probeerde uit te leggen.

Wat is een codec precies? Ik weet dat je ze nodig hebt om hier en daar een film te spelen, maar wat is het nou eigenlijk? Wat me echt in de war bracht, waren alle termen waarvan ik heb gehoord, maar die ik nooit echt heb begrepen: H.264, DivX, MP4, AVI, MPEG-2, AVCHD, AAC, OGG, MKV, enz. Enz. Waren dit allemaal codecs? Na veel lezen en leren, realiseerde ik me dat de wereld van audio- en videocodecs en containerformaten erg verwarrend is. Ik wist eigenlijk niet eens het verschil tussen een codec en een containerformaat totdat ik begon met onderzoeken.

Ik zal niet in detail treden, alleen omdat het onderwerp heel snel heel beknopt begint te worden. Maakt het je echt uit of 1 uur RAW ongecomprimeerde 1080p 60 frames per seconde video bijna 500 GB opslagruimte in beslag neemt? Waarschijnlijk niet.

Wat is een codec?

Dus wat is een codec precies en wat doet het? In de meest eenvoudige termen is een codec een encoder / decoder of, in zijn oorspronkelijke vorm, een compressor (co) - decompressor (dec). Dus dat is precies wat een codec doet: het neemt een digitaal bestand en comprimeert het (of codeert het) voor opslag en decomprimeert het (of decodeert het) voor weergave of transcodering. Ik zal je later wat transcodering vertellen, laten we onszelf niet zo vroeg verwarren.

Het belangrijkste om te begrijpen is dat een codec een soort specificatie is van hoe de bitstream eruit zou moeten zien. Wat is een bitstream? Om niet erg technisch te worden, is het hoe de volgorde van bytes moet worden gerangschikt voor die specifieke codec. Elke codec heeft een specifieke set richtlijnen. Het kan bijvoorbeeld de breedte, hoogte, aspectverhouding, etc. specificeren. Bekijk deze pagina, maar lees niet te veel, anders doet je hoofd pijn:

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

Omdat het een specificatie is, kunnen er veel manieren zijn om gegevens naar dat formaat te converteren. Daarom kunnen er voor één codec veel encoders zijn. Ik zal meer uitleggen over encoders in de sectie Populaire codecs hieronder.

Dus waarom hebben we al deze compressie en decompressie nodig? Zoals ik hierboven al zei, is een RAW ongecomprimeerd 1080p-bestand bijna maar liefst 500 GB voor slechts een uur. Je hebt je eigen datacenter nodig om al je familievideo's op te slaan als alles in dat formaat is opgenomen. Dat is waar compressies een rol spelen. Er zijn verschillende soorten compressie, wat zich vertaalt in verschillende soorten codecs. Dus wat zijn enkele populaire codecs?

Populaire codecs

H.264 (MPEG-4 Part 10 AVC) - Dit is ook officieel bekend als MPEG-4 Part 10, maar H.264 is wat je vaak hoort. Ja, er zijn ook meerdere namen voor hetzelfde. H.264 is verreweg het meest populaire formaat voor het coderen van video's. H.264 biedt het beste van alle werelden: kleinere bestandsgroottes met hogere kwaliteit.

Nogmaals, onthoud dat H.264 slechts de codec is, je zult geen bestanden vinden met .h264-extensies. Daar zijn containerformaten voor, wat ik in het onderstaande gedeelte zal uitleggen. Deze codec wordt overal gebruikt, van smartphones tot digitale camcorders tot Blu-ray-schijven. Het wordt tegenwoordig ook gebruikt voor het leveren van veel webvideo vanwege de mogelijkheid om u een geweldige beeldkwaliteit te bieden met een hoge compressieverhouding en een lage bitsnelheid, wat betekent dat de streaming-servers minder belast worden.

Het wordt ook sterk ondersteund en zal waarschijnlijk nog lang de meest populaire codec zijn. Het wordt ondersteund door Apple, YouTube, HTML 5 en zelfs in Adobe Flash.

Het enige nadeel van H.264 is dat de algoritmen voor compressie zo goed zijn dat het veel langzamer is om een ​​video in dit formaat te coderen. U zult daar meer over te weten komen als we het hieronder over transcodering hebben.

Zoals ik hierboven al zei, zijn er meerdere encoders voor een enkele codec. Voor de H.264-codec is een van de meest populaire encoders x264 van VideoLAN, dezelfde mensen die VLC Media Player maken. x264 is gratis en open source, maar er zijn ook veel commerciële H.264-encoders. Het maakt niet uit hoe de videostream naar dit formaat wordt geconverteerd, elke H.264-decoder (zoals VLC) kan het bestand bekijken.

MPEG-2 - Heeft u nog steeds een grote dvd-collectie? Dat gebeurt allemaal met de MPEG-2-codec. Het is behoorlijk oud, maar heel gewoon. De andere plaats waar u MPEG-2-compressie vindt, is wanneer u kijkt naar die HD-kanalen die via de ether worden uitgezonden. Dat is allemaal MPEG-2-compressie. Interessante dingen om te weten, toch?

Aangezien het algoritme voor compressie met MPEG-2 veel slechter is dan H.264, heeft het het voordeel dat het veel sneller te coderen is. Het werkte echter nooit voor webstreaming, omdat bij een lagere bitsnelheid de kwaliteit snel een duik zou nemen en je zou eindigen met korrelige video. Daarom kwamen ze met MPEG-4 Part 2.

MPEG-4 Part 2 - U herinnert zich waarschijnlijk de dagen dat alles over DivX en Xvid sprak, toch? Dat waren encoders voor het MPEG-4 Part 2-formaat, ook bekend als H.263. Veel films die je vroeger hebt gedownload, zijn gecomprimeerd met deze codec omdat het je een goede bestandsgrootte gaf en een redelijke kwaliteit behield. Het enige grote probleem is echter dat high-definition content nog steeds leed in termen van beeldkwaliteit en dat is waar H.264 die ik hierboven noemde het overnam.

Windows Media Video - Dit is in feite de Microsoft-versie van de MPEG-4-codecs. WMV 7 werd in 1999 geïntroduceerd en was een kopie van MPEG-4 Part 2. Later kwamen WMV 8 en 9, gevolgd door VC-1, een codec die vooral MPEG-4 Part 10 kopieert en momenteel wordt gebruikt in Blu-ray schijven ook. De enige andere plaatsen die u WMV en VC-1 ziet, zijn meestal in Microsoft-gerelateerde producten zoals Windows Movie Maker, Silverlight, HD DVD en Microsoft Expression Encoder, enz.

Dit zijn slechts de populaire videocodecs, je hebt ook je audiocodecs, die een rol spelen als we het hieronder hebben over containers. Populaire audiocodecs zijn FLAC, AC3, Dolby Digital Plus, DTS-HD, ALAC, enz. Net als bij video hebben audiocodecs hun eigen containerformaten zoals AIFF, WAV, enz.

Dit zijn zeker niet alle codecs die er zijn, het is slechts een lijst met enkele van de meest populaire. Laten we het nu hebben over containerformaten.

Container formaten

Bestandsformaten

Wanneer u een bestand afspeelt in Windows Media Player of VLC of Quicktime of wat voor mediaspeler u ook kiest, opent u meestal een containerformaat. Een containerformaat of wrapper is in feite een pakket van een of meer codecs, video of audio of beide. Een container wordt gebruikt om audio samen met video toe te voegen en om ervoor te zorgen dat de audio en video perfect worden gesynchroniseerd. De container bevat ook andere informatie die nodig is voor een streaming-server of voor de mediaspeler. De video- en audio-bitstreams zijn gewoon verpakt in een andere bitstream.

In containerformaten ziet u de algemene bestandsextensies die we ook allemaal gebruiken, zoals MP4, MOV, WMV, AVI, enz. Laten we enkele van de meest voorkomende containers doornemen:

MP4 - Je hebt waarschijnlijk een nummer gedownload met de extensie .MP4, wat een wrapper is voor veel video- en audiocodecs. Meestal wordt het gebruikt om H.264-video en AAC-gecodeerde audio in te pakken. Het ondersteunt ook MPEG-4 Part 2 en MPEG-2 videocodecs. Audio kan ook worden gecodeerd met andere codecs dan AAC.

AVI - Dit is een Microsoft-containerformaat uit 1992. Het was in mijn tijd erg populair en het is er nog steeds behoorlijk wat. Als u codeert, mag u het AVI-containerformaat nooit meer gebruiken. Ten eerste ondersteunt het geen nieuwere codecs zoals H.264. Het heeft ook een paar andere grote problemen en daarom wordt het niet meer gebruikt.

ASF - Het Advanced Systems Format van Microsoft gebruikt normaal gesproken de bestandsextensie .ASF niet. In plaats daarvan ziet u dat de meeste ASF-containers .WMA of .WMV gebruiken. Je zult deze bestanden zien als je alle Microsoft-producten gebruikt. Zodra u de Microsoft-wereld verlaat, zult u problemen tegenkomen bij het afspelen van de bestanden, vooral als u de H.264-codec gebruikt.

AVCHD - AVCHD is het meest gebruikelijke containerformaat voor HD-camcorders. De video is normaal gesproken H.264 met AC3 (Dolby Digital) audio of lineaire PCM.

MKV - De laatste tijd een film downloaden? Het is waarschijnlijk in het MKV-containerformaat, dat H.264-videobestanden bevat. Heel wat tools ondersteunen MKV zoals Boxee, PS3 Media Server, XMBC, VLC, enz., Maar het wordt nog niet zo breed ondersteund als andere containerformaten.

FLV - Dit is Adobe Flash, dat veel verschillende codecs ondersteunt, de meest voorkomende zijn H.264 en AAC. Flash-video is een van de meest populaire manieren waarop video's via internet worden gestreamd. Het verliest terrein vanwege HTML 5 en het feit dat Apple Flash niet zal laten draaien op een van zijn iDevice's, maar het is nog steeds heel gewoon.

Er zijn andere containerformaten zoals het QuickTime-bestandsformaat, OGG, WebM, enz., Maar je krijgt nu een beetje het beeld.

Transcodering

Het laatste dat u moet weten over dit alles, is dat u die AVCHD-video die u van uw camcorder hebt gedownload waarschijnlijk naar een ander formaat moet converteren dat u vervolgens in iTunes kunt importeren en op uw iPhone kunt afspelen. Omdat er zoveel codecs en containerformaten zijn en elk containerformaat verschillende combinaties van video- en audiocodecs kan hebben, hebt u een transcoder nodig om u het type bestand te geven dat u voor uw specifieke apparaat wilt.

Handrem

Er zijn veel transcoders, ook bekend als videoconverters: HandBrake, FFmpeg, SUPER, VirtualDub, enz. Sommige zijn betaald en sommige zijn gratis open-source tools. Sommige tools, zoals HandBrake, geven je presets zodat je eenvoudig je bronbestand kunt kiezen en een outputformaat zoals iPod of iPhone kunt kiezen en op Start kunt klikken. Het kiest alle instellingen, container, codec, enz. Voor u. Maar hopelijk begrijp je na het lezen van dit bericht nu een beetje meer en kun je video's converteren tussen formaten en het onderliggende proces een beetje beter begrijpen. Genieten!