21
апрель
2026
Пакетное преобразование файлов видео HEVC в AVC
12:42

Пакетное преобразование файлов видео HEVC в AVC

21 апрель 2026 12:42

Как преобразовать видео из HEVC (H.265) в AVC (H.264).

Введение

Видеозаписи сделанные смартфонами Apple и Samsung или современными видеоредакторами не распознаются многими ТВ-приставками, видеопроигрывателями, так как современный кодек видео HEVC (H.265) не воспроизводится ими. Решение - перекодировать HEVC в MPEG4 AVC.

Практика показывает, что для совместимости видео с проигрывателем нужно иметь:

  • формат видео AVC (H.264)
  • формат звука AC3. Со звуком проблем, как правило, нет.

В контейнере формата MP4 могут содержаться различные форматы видео:

  • MPEG4 Visual (Advanced Simple@L1), он же MPEG-4 Part 2 или стандарт ISO/IEC 14496-2 - кодек видео 1999 года. Распознаётся 100% устройств. MPEG-4 Part 2 совместим с форматом видеоконференций H.263, принадлежит к семейству кодеков DivX / Xvid.
  • AVC или Advanced Video Coding, он же H.264 или MPEG-4 Part 10 или стандарт ISO/IEC 14496-15 - существует с 2010 года (обновлён в 2014). Воспринимается 100% устройств.
  • H.265, он же HEVC (High Efficiency Video Coding), стандарт ISO/IEC 23008-2:2023 — High efficiency MPEG-H. Некоторые проигрыватели не умеют воспроизводить его, так как он математически более сложен и требует современного микропроцессора с аппаратной поддержкой декодирования видео в формате H.265.

Узнать формат видеофайла можно с помощью консольной программы MediaInfo или графической утилиты Mediainfo-GUI. Которые можно установить командой sudo apt install mediainfo mediainfo-gui.

Решения проблемы с воспроизведением видео:
1) покупка более нового проигрывателя с поддержкой H.265 (HEVC), например, отечественной ТВ приставки Selenga HD-980.
2) либо перекодирование из HEVC в AVC (H.264).

Цитата из ответа службы поддержки:

Selenga HD980. Здравствуйте! Форматы видео: AVI, VOB, MOV, MKV, TS, MPG, MP4, а также H.264 и новейший H.265/HEVC, а для аудио форматы вроде MP3, WMA. Основные поддерживаемые форматы: Видео: Контейнеры: AVI, VOB, MOV, MKV, TS, MPG, MP4. Кодеки: H.264, H.265/HEVC (для просмотра современных каналов). Аудио: MP3, WMA.

Более старые модели приставок не поддерживают кодек видео HEVC ни в эфире ТВ, ни при воспроизведении с USB носителя (флешки)!

Команды для перекодирования видео с помощью FFmpeg

где:
CBR - постоянная скорость потока (лучше подходит для видео со сценами, где мало движения в кадре),
VBR - переменная скорость потока (лучше подходит для динамичных видео, кино и презентаций).

С точки зрения кодирования видео:
MPEG4 Visual - устаревший стандарт (но позволяет быстрое кодирование видео на слабом "железе"),
MP4 AVC - относительно свежий стандарт (средняя скорость кодирования)
HEVC - самый современный формат (самая низкая скорость кодирования).

Команды терминала для перекодирования файлов видео

Откуда и куда CBR VBR
HEVC в MPEG4 Visual
один файл
ffmpeg -i input.mp4 -b:v 8M -c:v mpeg4 -c:a copy -filter:v fps=fps=30 output.mp4 ffmpeg -i input.mp4 -crf 20 -c:v mpeg4 -c:a copy -filter:v fps=fps=30 output.mp4
HEVC в MPEG4 Visual
несколько файлов в текущем каталоге
IFS=$'\n' && mkdir out && for f in $(find . -iname '*.mp4' -maxdepth 1 -execdir basename {} .po ';') ; do echo $f && ffmpeg -i $f -b:v 8M -c:v mpeg4 -c:a copy -filter:v fps=fps=30 './out/'$f ; done IFS=$'\n' && mkdir out && for f in $(find . -iname '*.mp4' -maxdepth 1 -execdir basename {} .po ';') ; do echo $f && ffmpeg -i $f -crf 20 -c:v mpeg4 -c:a copy -filter:v fps=fps=30 './out/'$f ; done
HEVC в AVC
один файл
ffmpeg -i input.mp4 -b:v 8M -c:v libx264 -c:a copy -filter:v fps=fps=30 output.mp4 ffmpeg -i input.mp4 -crf 20 -c:v libx264 -c:a copy -filter:v fps=fps=30 output.mp4
HEVC в AVC
несколько файлов в текущем
IFS=$'\n' && mkdir out && for f in $(find . -iname '*.mp4' -maxdepth 1 -execdir basename {} .po ';') ; do echo $f && ffmpeg -i $f -b:v 8M 20 -c:v libx264 -c:a copy -filter:v fps=fps=30 './out/'$f ; done IFS=$'\n' && mkdir out && for f in $(find . -iname '*.mp4' -maxdepth 1 -execdir basename {} .po ';') ; do echo $f && ffmpeg -i $f -crf 20 -c:v libx264 -c:a copy -filter:v fps=fps=30 './out/'$f ; done
MP4 в HEVC
один файл
ffmpeg -i input.mp4 -b:v 8M -c:v libx265 -c:a copy -filter:v fps=fps=30 output.mp4 ffmpeg -i input.mp4 -crf 20 -c:v libx265 -c:a copy -filter:v fps=fps=30 output.mp4
MP4 в HEVC
несколько файлов
IFS=$'\n' && mkdir out && for f in $(find . -iname '*.mp4' -maxdepth 1 -execdir basename {} .po ';') ; do echo $f && ffmpeg -i $f -b:v 8M -c:v libx265 -c:a copy -filter:v fps=fps=30 './out/'$f ; done IFS=$'\n' && mkdir out && for f in $(find . -iname '*.mp4' -maxdepth 1 -execdir basename {} .po ';') ; do echo $f && ffmpeg -i $f -crf 20 -c:v libx265 -c:a copy -filter:v fps=fps=30 './out/'$f ; done

Сравнение скорости кодирования видео и размера выходного файла

Исходный файл input.mp4 размером 16 МБ с разрешением 1920x1080 (Full HD), частотой 30 кадров в секунду.

Кодирование Скорость кодирования CBR -b:v 8M, кадров в секунду Скорость кодирования VBR -crf 23, кадров в секунду Размер файла "output.mp4", CBR -b:v 8M Размер файла "output.mp4" VBR -crf 23
AVC в HEVC 3.25 fps 2.39 fps 8.7 МБ 16.4 МБ
HEVC в AVC 7.3 fps 7.9 fps 8.7 МБ 9.4 МБ
HEVC в MPEG4 Part 2 50 fps 50 fps 8.2 МБ 4.6 МБ

Качество видео при одинаковой скорости потока: MPEG4 << AVC << HEVC. Поэтому для HEVC можно уменьшить качество (что не заметно на глаз), с "-crf 23" до "-crf 28" для уменьшения размера выходного файла.

Замечание про частоту кадров в секунду

Встречаются видео 30 кадров в секунду и 29.97 кадров в секунду.

Чтобы отличить одно от другого:

ffprobe -show_format -show_streams -loglevel quiet input.mp4 | grep "avg_frame_rate"
mediainfo input.mp4 | grep "Frame rate"

Первое число укажет частоту кадров для видео.
В командах следует использовать актуальное число кадров в секунду.

Можно быть уверенным, что видео со смартфона имеют частоту 30 или 60 кадров в секунду ровно. Такие видео имеют прогрессивную развёртку. То есть 1920*1080 на 30 fps означает 1920*1080p или, сокращенно, 1080p.
Это же относится к видео 4K, они тоже имеют частоту кадров, кратную 30.

Частота 29.97 кадров в секунду используется для чересстрочных видео, таких как телевизионные передачи, снятые в США. Такую же частоту могут давать программы - редакторы видео от фирмы Apple.

Подобнее о применении форматов видео можно прочитать в статье.



Похожие публикации