H.265-video coderen met ffmpeg op Linux
Vrijwel alle video's die we bekijken, via digitale terrestrische tv, via kabel, via satelliet of via internet, zijn gecomprimeerd. Onbewerkte, ongecomprimeerde video is gewoon te groot en zou te veel bandbreedte verspillen. Lang geleden voor DVD en Blu-ray was er de Video-CD (VCD). Het was het eerste formaat dat wordt gebruikt voor het commercieel distribueren van films op standaard 120 mm (4, 7 inch) optische schijven. De video op de schijven was gecodeerd in MPEG-1, een compressieformaat met verlies dat is ontworpen voor het streamen van videogegevens met 1, 5 Mbit / s. Waarschijnlijk de bekendste component van de MPEG-1-standaard was het audiocompressieformaat. Officieel genaamd MPEG-1 Audio Layer III, je kent het waarschijnlijk als MP3.
Na MPEG-1 kwam MPEG-2, dat werd gekozen als de videocompressiestandaard voor dvd-video. Het werd ook gebruikt als de onderliggende videostandaard voor digitale satelliet (DVB-S) en digitale terrestrische tv (DVB-T). MPEG-2 werd ook geratificeerd door de International Telecommunication Union (ITU) als H.262. Na de dvd kwam Blu-ray, die naast ondersteunende video's gecodeerd in MPEG-2, ook H.264 of MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC) ondersteunde zoals het officieel bekend was.
- MPEG-1: gebruikt voor video-cd's
- MP3: onderdeel van de MPEG-1-standaard, tegenwoordig alomtegenwoordig
- MPEG-2 / H.262: wordt gebruikt voor dvd's en andere digitale media
- MPEG-4 Part 10 / H.264: gebruikt in Blu-ray
- MPEG-H / H.265: het coderingsformaat van de volgende generatie met ondersteuning voor 4K- en 8K-resoluties
Na H.264 kwam H.265. Het heeft ook een paar andere namen, meestal High Efficiency Video Coding (HEVC) of MPEG-HH265 verdubbelt de datacompressie ratio in vergelijking met H.264 en ondersteunt resoluties tot 8192 × 4320. Dit betekent dat video met dezelfde kwaliteit slechts de helft van de bandbreedte (of bestandsgrootte) nodig heeft. Als alternatief betekent dit dat de kwaliteit van de video aanzienlijk kan worden verbeterd met dezelfde bitsnelheid, iets heel belangrijks voor zeer hoge definitie (dwz 4K en 8K) schermen.
Het goede nieuws voor Linux-gebruikers is dat de H.265-codec beschikbaar is in de populaire coderingssuite "ffmpeg." Hoewel ffmpeg waarschijnlijk bestaat in de opslagplaatsen van uw distro, is deze misschien verouderd of is er mogelijk geen ondersteuning voor H.265 gecompileerd De meest eenvoudige manier om de nieuwste en meest functionele versie van ffmpeg te krijgen, is door de statisch gekoppelde builds te downloaden.
Download het 32-bits of 64-bits .tar.xz-bestand. Als u niet zeker weet welke u wilt downloaden, gebruikt u de 32-bits versie. In de map waar u het bestand hebt gedownload, voert u de volgende opdracht uit om het archiefbestand uit te pakken:
tar xvf ffmpeg-2.4-32bit-static.tar.xz
Waar "ffmpeg-2.4-32bit-static.tar.xz" de naam is van het bestand dat u hebt gedownload.
Hiermee wordt een map gemaakt met de naam "ffmpeg-2.4-32bit-static". In die map staan de "ffmpeg" en "ffprobe" binaries (samen met een aantal andere binaries). Gebruik de volgende opdracht om een video in H.265-indeling te coderen:
./ffmpeg -i video.mp4 -c: een kopie -c: v libx265 video-h265.mp4
De parameter -i
geeft het ingevoerde videobestand aan, in dit geval "video.mp4". ffmpeg kan een hele reeks videoformaten decoderen, waaronder .avi, .mp4 en .mov.
De -c:a copy
vertelt ffmpeg om de audiostream van het originele bestand rechtstreeks naar het uitvoerbestand te kopiëren. Terwijl -c:v libx265
ffmpeg vertelt om het nieuwe videobestand te coderen in H.265-indeling.
De laatste parameter is de gewenste bestandsnaam van de H.265-gecodeerde uitvoer. ffmpeg kan .mp4-, .mov- en .mkv-bestanden maken met H.265-gecodeerde video.
Kijk, zodra de codering is voltooid, naar de bestandsgrootte van de twee video's; je zou een significante afname in de bestandsgrootte van de H.265-gecodeerde video te zien krijgen:
ls video.mp4 video-h265.mp4
Als u wilt controleren of het bestand correct is gecodeerd, gebruikt u de opdracht ffprobe
als volgt:
ffprobe video-h265.mp4
De uitvoer toont dat de videostream (waarschijnlijk stream # 0) gecodeerd is met hvec
, dwz H.265. De audiostream wordt gecodeerd in welk formaat dan ook in het oorspronkelijke bestand werd gebruikt, omdat het zojuist van de ene naar de andere is gekopieerd.
Als je vragen hebt over ffmpeg zelf, dan is er een levendige community met mailinglijsten, IRC-kanalen en forums. Als u vragen heeft over de bovenstaande voorbeelden, gebruikt u de opmerkingen hieronder en we zullen zien of we u kunnen helpen.