Как да кодирате H.265 видео Използване на ffmpeg на Linux
Почти целият видеоклип, който гледаме, чрез цифрова наземна телевизия, кабел, сателит или чрез интернет, е компресиран. Суровото, некомпресирано видео е просто твърде голямо и би загубило твърде много трафик. Назад преди DVD и Blu-ray, имаше Video CD (VCD). Това е първият формат, използван за търговско разпространение на филми на стандартни 120 мм (4, 7 инчови) оптични диска. Видеото на дисковете беше кодирано в MPEG-1, формат за компресиране на загуби, предназначен за поточно предаване на видео данни на 1, 5 Mbit / s. Вероятно най-известният компонент на стандарта MPEG-1 е неговият формат за аудио компресиране. Официално наречен MPEG-1 Audio Layer III, вероятно го знаете като MP3.
След MPEG-1 дойде MPEG-2, който беше избран за стандарт за компресиране на видео за DVD видео. Използва се и като основен видео стандарт за цифрово сателитно (DVB-S) и цифрова наземна телевизия (DVB-T). MPEG-2 също беше ратифициран от Международния съюз по далекосъобщения (ITU) като H.262. След като Blu-ray се появи на DVD, който, както и поддържаните видеоклипове, кодирани в MPEG-2, поддържаше H.264 или MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), както беше официално известно.
- MPEG-1: Използва се за видео компактдискове
- MP3: Част от стандарта MPEG-1, който днес е вездесъщ
- MPEG-2 / H.262: Използва се за DVD и други цифрови носители
- MPEG-4 Част 10 / H.264: Използва се в Blu-ray
- MPEG-H / H.265: формат за кодиране от следващо поколение с поддръжка на резолюции 4K и 8K
След H.264 дойде H.265. Също така има няколко други имена, най-често високочестотното видео кодиране (HEVC) или MPEG-HH265 удвоява съотношението на компресиране на данни в сравнение с H.264 и може да поддържа резолюции до 8192 × 4320. Това означава, че видеоклипът със същото качество се нуждае само от половината от честотната лента (или размера на файла). Алтернативно, това означава, че качеството на видеото може значително да се подобри при една и съща честота на предаване, което е много важно за дисплеите с много висока детайлност (т.е. 4K и 8К).
Добрата новина за потребителите на Linux е, че H.265 кодекът е наличен в популярния пакет за кодиране "ffmpeg". Въпреки че ffmpeg вероятно съществува в хранилищата на дистрибуцията ви, може да е остарял или може да няма поддръжка за H.265 компилирани Най-лесният начин да получите най-новата и най-функционалната версия на ffmpeg е да изтеглите статично свързаните графики.
Изтеглете файла 32-битов или 64-битов .tar.xz. Ако не сте сигурни коя да изтеглите, използвайте 32-битовата. В директорията, в която сте изтеглили файла, изпълнете следната команда, за да разопаковате архивния файл:
tar xvf ffmpeg-2.4-32bit-static.tar.xz
Където "ffmpeg-2.4-32bit-static.tar.xz" е името на файла, който сте изтеглили.
Това ще създаде директория, наречена "ffmpeg-2.4-32bit-static". В тази директория са "ffmpeg" и "ffprobe" двоични файлове (заедно с няколко други двоични файлове). За да кодирате видео във формат H.265, използвайте следната команда:
./ffmpeg -i видео.mp4 -c: копие -c: v libx265 video-h265.mp4
Параметърът -i
определя входния видео файл, в този случай "video.mp4". ffmpeg може да декодира голямо разнообразие от видео формати, включително .avi, .mp4 и .mov.
Параметърът -c:a copy
казва на ffmpeg да копира аудио потока от оригиналния файл директно в изходния файл. Докато -c:v libx265
казва ffmpeg да кодира новия видеофайл във формат H.265.
Последният параметър е желаното име на файл с кодиран изход H.265. ffmpeg може да създава .mp4, .mov и .mkv файлове с H.265 кодирано видео.
След като кодирането приключи, разгледайте размера на файла на двете видеоклипове. трябва да видите значително намаляване на размера на файла на кодираното видео H.265:
ls video.mp4 видео-h265.mp4
За да проверите дали файлът е кодиран правилно, използвайте командата ffprobe
по следния начин:
ffprobe видео-h265.mp4
Резултатът ще покаже, че видео потокът (вероятно поток # 0) е кодиран с hvec
, т.е. H.265. Аудио потокът ще бъде кодиран в произволен формат, който е бил използван в оригиналния файл, тъй като той просто е бил копиран от един на друг.
Ако имате някакви въпроси относно самия ffmpeg, има жива общност с пощенски списъци, IRC канали и форуми. Ако имате някакви въпроси относно посочените по-горе примери, моля, използвайте секцията за коментари по-долу и ще видим дали можем да помогнем.