Почему я не вижу субтитры S_DVBSUB при конвертации с помощью FFmpeg?

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

Сегодня я записал фильм с DVB-T и теперь я конвертирую его в файл MKV.

Я использую этот скрипт:

#!/bin/bash
SCALE=1280:544
CROP=1920:811
ASPECT=2.35 #может быть 16:9 2.35 4:3
TITOLO="Il mio film"
#OTHER="-t 01:31:59"

ffmpeg -y -ss 00:07:33 -i 00001.ts -map 0 -c:s copy -vf yadif,crop=$CROP,scale=$SCALE -c:v libx265 -c:a aac -b:v 1500k -b:a 128k -metadata language=ita -metadata title="$TITOLO" -aspect $ASPECT $OTHER "$TITOLO".mkv 
mkvpropedit --edit track:2 --set language="ita" "$TITOLO".mkv

Работает хорошо, за исключением субтитров (дорожка 4), mediainfo и mplayer сообщают, что дорожка существует, но когда я использую mplayer или VLC, я не вижу субтитры, почему?

Субтитры типа S_DVBSUB.

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

Когда вы конвертируете видео с записанными DVB-T субтитрами в MKV, возникает ряд технических нюансов, связанных с обработкой и отображением субтитров типа S_DVBSUB, которые имеют специфику работы. Давайте разберем, почему в вашем случае используются FFmpeg и VLC/Mplayer, но все же субтитры не отображаются, и что можно сделать для решения этой проблемы.

Теория

DVB Subtitles Overview: формат S_DVBSUB используется для передачи субтитров в цифровом видео вещании, таких как DVB-T, и является графическим форматом, использованным для передачи уже отрендеренных изображений субтитров, а не как текстовые данные, такие как SRT.

Проблемы с поддержкой: хотя форматы контейнеров, такие как MKV, поддерживают S_DVBSUB, проблемы могут возникнуть в проигрывателях мультимедиа, которые, возможно, не имеют полной поддержки или нужного рендеринга данного формата. Многие популярные медиаплееры, включая VLC и MPlayer, могут технически поддерживать S_DVBSUB, но в некоторых версиях или конфигурациях требования для правильного отображения субтитров могут не выполняться.

Пример

В вашем случае, скрипт FFmpeg, который вы используете, по сути, позволяет сохранить субтитры в исходном формате с помощью опции -c:s copy. Эта опция просто копирует поток субтитров без конвертации его в другой формат. Проблема может быть в нескольких причинах:

  1. Ошибки в транспорте потоков: Субтитры могут быть потеряны при обработке трансляции или записи.

  2. Особенности проигрывателей: Даже при условии корректного включения этих данных в файл MKV, их проигрывание может зависеть от способностей плеера управляться с S_DVBSUB.

  3. Возможные несовершенства в кодировке или контейнере: MKV является универсальным форматом, но в то же время может иметь свою специфику в обработке различных типов субтитров.

Применение

Для устранения проблемы с видимостью субтитров, следует предпринять следующие шаги:

  1. Проверка целостности и правильности данных субтитров: Используйте mediainfo для детальной проверки трека субтитров в выходном файле MKV. Убедитесь, что трек корректно включен и распознан.

  2. Конвертация формата субтитров: Рассмотрите возможность конвертации субтитров из S_DVBSUB в более универсальный формат, такой как SRT. Это можно сделать с помощью инструмента, например, ffmpeg, через опцию -c:s srt. Это может быть выполнено следующей командой:

    ffmpeg -y -ss 00:07:33 -i 00001.ts -map 0 -vf yadif,crop=$CROP,scale=$SCALE -c:v libx265 -c:a aac -b:v 1500k -b:a 128k -metadata language=ita -metadata title="$TITOLO" -aspect $ASPECT $OTHER -c:s srt "$TITOLO".mkv 
  3. Настройки проигрывателя: Проверьте настройки проигрывателя, который вы используете, на поддержку S_DVBSUB. Возможно, потребуется обновить плеер до последней версии или воспользоваться альтернативными настройками и плагинами. В VLC попробуйте установить различные модули для рендера субтитров или проверить, активированы ли нужные кодеки.

  4. Использование альтернативных медиаплееров: Попробуйте использовать другие проигрыватели, которые имеют более широкую поддержку субтитров, такие как MPV, который известен своей гибкостью и обширной поддержкой кодеков и форматов.

  5. Отладочная информация: Используйте дополнительные инструменты для анализа файлов, такие как mkvtoolnix, чтобы исследовать внутренности MKV файла и убедиться, что потоки субтитров присутствуют и корректны.

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

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

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