Как конвертировать 8-битное видео H.265 (HEVC) в 8-битное H.264 без потери качества?

Вопрос или проблема

Я хочу конвертировать 8-битное видео h.265 в h.264 без потери качества, чтобы иметь возможность смотреть его на моем теперь уже немного старом телевизоре, который поддерживает только h.264.

Я нашел этот пост очень полезным: Как конвертировать 10-битные видео H.265 / HEVC в H.264 без потери качества?

Но по какой-то причине полученное видео в h.264 не могло быть просмотрено на моем телевизоре. Это видео, как и оригинал, имело встроенные субтитры (я не знаю, является ли это проблемой для моего телевизора), и аудиопоток был следующим:

Формат: AAC LC SBR.
Информация о формате: Advanced Audio Codec Low.
Сложность с воспроизведением спектральных частот.
Коммерческое название: HE-AAC.
ID кодека: A_AAC-2.

Я внес две изменения в команду ffmpeg, и это сработало для меня. У меня все еще нет +50 баллов на платформе, чтобы добавлять комментарии, поэтому для всех, у кого такая же проблема, я создал этот пост, см. нижe мой собственный ответ.

Я удалил встроенные субтитры и указал ‘традиционный’ кодек Advanced video codec (AVC), который поддерживает мой телевизор.

Как я сказал в своем вопросе, я следовал этому посту: Как конвертировать 10-битные видео H.265 / HEVC в H.264 без потери качества? и также следовал этому для удаления встроенного текста: Удалить встроенные потоки субтитров из медиафайла без “streaming/remuxing”

Итак, вот команда:

ffmpeg -i video.mkv -sn -c:v libx264 -crf 18 -vf format=yuv420p -c:a aac output.mkv

Обратите внимание, что я не использовал опцию -map 0, так как она сохраняет все потоки, а я хотел удалить текстовый поток. В любом случае, возможно, этот шаг не был необходим, и единственной проблемой в моем видео был аудиокодек. Поэтому, если вы хотите сохранить свои субтитры, вы можете попробовать оставить -map 0 и не использовать опцию -sn, которая является параметром для удаления текста.

Кстати, моему компьютеру среднего класса потребовалось 40 минут, чтобы конвертировать все видео, которое было 60-минутным фильмом, с оригинальным размером 1.3 ГБ и получилось 2.9 ГБ после конвертации.

Ответ или решение

Для конвертации 8-битного видео в формате H.265 (HEVC) в H.264 без потери качества существует несколько шагов, которые помогут вам адаптировать видеофайл для просмотра на вашем устаревшем телевизоре, поддерживающем только H.264. Расскажем подробно, как это сделать с помощью FFmpeg — мощного инструмента для работы с видеофайлами.

Введение

Для начала важно знать, что H.265 (HEVC) и H.264 (AVC) — это различные видеокодеки. H.265 обеспечивает более высокое качество при меньшем размере файла, однако не все устройства поддерживают данный формат. Ваш телевизор, вероятно, поддерживает более распространенный H.264, поэтому необходимо произвести конвертацию. Дополнительно стоит учитывать формат аудио, поскольку поддержка различных аудиокодеков также может различаться.

Подготовка к конвертации

Перед началом процесса убедитесь, что у вас установлена последняя версия FFmpeg. Это программное обеспечение позволяет выполнять трансформации видеофайлов с необходимыми параметрами для сохранения качества.

Пошаговая инструкция:

  1. Удаление встроенных субтитров: Если ваш телевизор не поддерживает встроенные субтитры, стоит их удалить. Ваша команда уже учитывает это: -sn позволяет исключить текстовые потоки.

  2. Настройка видео кодека: Используем libx264 для конвертации видео в формат H.264. Это наиболее распространённый кодек для H.264, обеспечивающий хорошее качество видео.

  3. Оптимизация качества видео: Параметр -crf 18 устанавливает постоянный уровень качества. Значения от 18 до 23 обычно дают хороший баланс между качеством и размером файла.

  4. Формат цветового пространства: Используйте -vf format=yuv420p для обеспечения совместимости с широким спектром оборудования и программного обеспечения.

  5. Аудио кодек: Конвертируйте аудио в AAC при помощи -c:a aac, поскольку HE-AAC может не поддерживаться вашим телевизором.

  6. Результирующая команда:

    ffmpeg -i video.mkv -sn -c:v libx264 -crf 18 -vf format=yuv420p -c:a aac output.mkv

Особые случаи

Если ваш телевизор поддерживает встроенные субтитры, вы можете убрать часть команды -sn и оставить -map 0, чтобы сохранить все потоки.

Производительность

Конвертация видео может занимать значительное время в зависимости от мощности вашего компьютера. Например, для конвертации 60-минутного фильма у пользователя это заняло около 40 минут. Увеличение размера файла (в приведенном случае с 1,3 до 2,9 ГБ) также связано с настройками качества и используемым кодеком.

Заключение

Применение вышеописанных настроек обеспечит эффективную конвертацию видео без значительной потери качества. Помните, что точная настройка зависит от ваших конкретных требований и возможностей вашего телевизора. Не забудьте протестировать результат, чтобы убедиться в его совместимости с вашим оборудованием.

Оцените материал
Добавить комментарий

Капча загружается...