ГлавнаяОперационные системыLinuxКак кодировать видео H.265 с помощью ffmpeg в Linux

Как кодировать видео H.265 с помощью ffmpeg в Linux

h265-200pxПочти все видео, которое мы смотрим по цифровому наземному телевидению, по кабелю, со спутника или через Интернет, сжато. Необработанное несжатое видео слишком велико и потребует слишком много трафика. Еще до появления DVD и Blu-ray существовали Video CD (VCD). Это был первый формат, использовавшийся для коммерческого распространения фильмов на стандартных оптических дисках диаметром 120 мм (4,7 дюйма). Видео на дисках было закодировано в MPEG-1 — формате сжатия с потерями, предназначенном для потоковой передачи видеоданных со скоростью 1,5 Мбит/с. Вероятно, самым известным компонентом стандарта MPEG-1 был формат сжатия звука. Официально он называется MPEG-1 Audio Layer III, но вы, вероятно, знаете его как MP3.

h265-и-другие-видео-логотипы

После MPEG-1 появился MPEG-2, который был выбран в качестве стандарта сжатия видео для DVD-видео. Он также использовался в качестве основного видеостандарта для цифрового спутникового (DVB-S) и цифрового наземного телевидения (DVB-T). MPEG-2 также был ратифицирован Международным союзом электросвязи (ITU) как H.262. После DVD появился Blu-ray, который не только поддерживал видео, закодированное в формате 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-H. H.265 удваивает степень сжатия данных по сравнению с H.264 и может поддерживать разрешения до 8192×4320. Это означает, что для видео того же качества требуется только половина полосы пропускания (или размера файла). С другой стороны, это означает, что качество видео можно существенно улучшить при той же скорости передачи данных, что очень важно для дисплеев очень высокого разрешения (т. е. 4K и 8K).

Логотип Ffmpeg

Хорошей новостью для пользователей 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 video.mp4 -c:a copy -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 video-h265.mp4

Чтобы убедиться, что файл закодирован правильно, используйте команду ffprobeследующим образом:

ffprobe video-h265.mp4

ffprobe-h265

Вывод покажет, что видеопоток (вероятно, поток №0) закодирован с использованием hvec, то есть H.265. Аудиопоток будет закодирован в любом формате, который использовался в исходном файле, поскольку он был только что скопирован из одного в другой.

Если у вас есть какие-либо вопросы о самом ffmpeg, поставьте яркую шкалу сообщество со списками рассылки, IRC-каналами и форумами. . Если у вас есть какие-либо вопросы по поводу приведенных выше примеров, воспользуйтесь разделом комментариев ниже, и мы посмотрим, сможем ли мы вам помочь.

ПОХОЖИЕ СТАТЬИ

Популярные записи