Вопрос или проблема
Сегодня я записал фильм с 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
. Эта опция просто копирует поток субтитров без конвертации его в другой формат. Проблема может быть в нескольких причинах:
-
Ошибки в транспорте потоков: Субтитры могут быть потеряны при обработке трансляции или записи.
-
Особенности проигрывателей: Даже при условии корректного включения этих данных в файл MKV, их проигрывание может зависеть от способностей плеера управляться с S_DVBSUB.
-
Возможные несовершенства в кодировке или контейнере: MKV является универсальным форматом, но в то же время может иметь свою специфику в обработке различных типов субтитров.
Применение
Для устранения проблемы с видимостью субтитров, следует предпринять следующие шаги:
-
Проверка целостности и правильности данных субтитров: Используйте
mediainfo
для детальной проверки трека субтитров в выходном файле MKV. Убедитесь, что трек корректно включен и распознан. -
Конвертация формата субтитров: Рассмотрите возможность конвертации субтитров из 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
-
Настройки проигрывателя: Проверьте настройки проигрывателя, который вы используете, на поддержку S_DVBSUB. Возможно, потребуется обновить плеер до последней версии или воспользоваться альтернативными настройками и плагинами. В VLC попробуйте установить различные модули для рендера субтитров или проверить, активированы ли нужные кодеки.
-
Использование альтернативных медиаплееров: Попробуйте использовать другие проигрыватели, которые имеют более широкую поддержку субтитров, такие как MPV, который известен своей гибкостью и обширной поддержкой кодеков и форматов.
-
Отладочная информация: Используйте дополнительные инструменты для анализа файлов, такие как
mkvtoolnix
, чтобы исследовать внутренности MKV файла и убедиться, что потоки субтитров присутствуют и корректны.
Итак, задача заключается в изначальной корректной обработке субтитров в процессе конверсии видеофайла и правильного выбора средств их воспроизведения в дальнейшем. Переход на более совместимые форматы может заметно улучшить шансы на полноценное воспроизведение данных в результате конверсии.