Как правильно накладывать/встраивать телетекстовые субтитры в виде растровых субтитров?

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

У меня есть файл TS с полным телетекстовым потоком. На странице 888 находятся субтитры.
Мне удалось наложить их так, как я хотел, с помощью ffmpeg -txt_page 888 -i test.ts -filter_complex "[0:s]scale=1920:1080[subs];[0:v][subs]overlay[v]" -map "[v]" -map 0:a output.ts

Тем не менее, многие субтитры отсутствуют, а некоторые появляются на короткое время.

В VLC (который также использует zvbi) все субтитры отображаются правильно.

Что может быть причиной этой проблемы? Есть ли правильный способ это сделать?

PS.: Я не хочу извлекать их в .srt или использовать это как промежуточный этап, а затем накладывать, так как они потеряют некоторые специальные выравнивания. Я хочу встроить вывод zvbi в видео.

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

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

  1. Проверка параметров трансляции: Возможно, проблема заключается в том, что FFmpeg обрабатывает субтитры и видео с разными временными метками. Вы можете попробовать задать параметры временной синхронизации, используя фильтры setpts и trim.

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

    ffmpeg -i test.ts -filter_complex "[0:s]scale=1920:1080,setpts=PTS-STARTPTS[subs];[0:v][subs]overlay[v]" -map "[v]" -map 0:a output.ts

    Здесь мы используем setpts=PTS-STARTPTS, чтобы убедиться, что временные метки субтитров корректно синхронизированы с видео.

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

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

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

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

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

Надеюсь, эти рекомендации помогут вам добиться необходимого результата с телетекстовыми субтитрами. Если возникнут дополнительные вопросы или потребуется более детализированная помощь, не стесняйтесь обращаться!

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

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