В этой статье блога мы рассмотрим различные методы кодирования титров CEA-608 в поток RTMP с помощью FFmpeg. CEA-608 — это стандарт субтитров в Северной Америке, а FFmpeg — мощная мультимедийная платформа, которая может решать различные задачи кодирования видео. Интегрируя субтитры CEA-608 в поток RTMP, вы можете гарантировать, что ваш видеоконтент в реальном времени будет доступен зрителям с нарушениями слуха. Итак, давайте углубимся и узнаем, как этого добиться!
Метод 1: использование наложения фильтра
Один из способов кодирования титров CEA-608 в поток RTMP — использование наложения фильтра FFmpeg. Этот фильтр позволяет накладывать титры поверх видеокадров. Вот пример команды:
ffmpeg -i input.mp4 -vf "subtitles=input.srt:force_style='FontName=Arial,FontSize=24,PrimaryColour=&Hffffff'" -c:v libx264 -c:a copy -f flv rtmp://streaming-server/live/stream
Объяснение:
-i input.mp4: указывает входной видеофайл.-vf "subtitles=input.srt:force_style='FontName=Arial,FontSize=24,PrimaryColour=&Hffffff'": применяет фильтр субтитров для наложения подписей. Заменитеinput.srtна путь к файлу подписей CEA-608. Настройте название шрифта, размер шрифта и основной цвет по своему усмотрению.-c:v libx264 -c:a copy: устанавливает видеокодек H.264 (libx264) и копирует аудиопоток без повторного кодирования.-f flv rtmp://streaming-server/live/stream: определяет формат вывода как FLV и URL-адрес потока RTMP.
Метод 2: использование фильтра drawtext
Другой подход — использовать фильтр drawtext FFmpeg, который позволяет напрямую отображать текст в видеокадрах. Вот пример команды:
ffmpeg -i input.mp4 -vf "drawtext=textfile=input.srt:fontfile=Arial.ttf:fontsize=24:fontcolor=white:x=10:y=10" -c:v libx264 -c:a copy -f flv rtmp://streaming-server/live/stream
Объяснение:
-i input.mp4: указывает входной видеофайл.-vf "drawtext=textfile=input.srt:fontfile=Arial.ttf:fontsize=24:fontcolor=white:x=10:y=10": применяет фильтр drawtext для отображения подписей. Заменитеinput.srtна путь к файлу подписей CEA-608. Настройте файл шрифта, размер шрифта, цвет шрифта и положение по своему усмотрению.-c:v libx264 -c:a copy: устанавливает видеокодек H.264 (libx264) и копирует аудиопоток без повторного кодирования.-f flv rtmp://streaming-server/live/stream: определяет формат вывода как FLV и URL-адрес потока RTMP.
Следуя методам, описанным в этой статье, вы можете легко кодировать подписи CEA-608 в поток RTMP с помощью FFmpeg. Фильтр наложения и фильтр рисования текста предоставляют различные способы интеграции титров в ваш видеоконтент в реальном времени. Обязательно настройте стили, размеры и положение шрифтов в соответствии с вашими требованиями. С помощью этих методов вы можете повысить доступность потокового контента и обеспечить удобство просмотра для пользователей с нарушениями слуха.