LINUX.ORG.RU
ФорумAdmin

FFmpeg добавление субтитров «на лету».


0

1

Добрый день!

Данные видео/аудио закидываются на stdin ffmpeg, а результат снимается с stdout и записывается в файл. Возможно ли при этом добавление в выходной файл нового потока субтитров, и добавление субтитров, которые будут генерироваться по ходу кодирования в stdin ffmpeg (скажем между фреймами видео)?
Или может быть как-то иначе можно сделать? Пока субтитры пишутся в отдельный файл и подхватываются при просмотре, но хотелось бы внедрить их в сам видеофайл. Понятно, что как палеатив - постобработка.



Последнее исправление: sptim (всего исправлений: 1)

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

drakmail ★★★★
()

поясните пожалуйста, вы хотите сделать хардсаб или софтсаб? или вам все равно, вам просто нужно, чтобы на выходе был один файл с картинкой и сабами? Если последний вариант - воспользуйтесь mkvtoolnix после кодирования - добавление сабов в видеофайл происходит в считанные секунды.

JFreeM ★★★☆
()
Ответ на: комментарий от JFreeM

вроде как хардсаб нужен. Так как софтсаб как делать - он бы нагуглил быстро.

drakmail ★★★★
()
Ответ на: комментарий от JFreeM

Софт конечно же (если под хардом ты подразумеваешь впечатывание сабов в картинку при перекодиовании), ибо картинка нужна «первозданная»... а включение\выключение сабов - это по желанию «смотрящего».

Мне нужно именно силами ffmpeg (кроме того - добавление «дорожки» сабов ПОСЛЕ завершения создания видеофайла - это тривиальная задача - это и ffmpeg может).

Я же спрашивал именно ПРИ создании. Т.е. у меня есть готовые видео+аудиоданные (h264) и их я покадрово скармливаю ffmpeg на стандартный вход (т.е. источник данных у ffmpeg - stdin), так вот и хотелось бы каким-то образом создавать «фреймы» субтитров и скармливать тут же... «загугли» тут имхо не катит. :-)

sptim
() автор топика
Ответ на: комментарий от drakmail

Всё УЖЕ работает (я про перегон видео+аудио). А насчёт «в реальном времени» - где ты там увидел такое? У меня написано - «на лету» - т.е. без промежуточных этапов/файлов (для сабов).

p.s.
А конверсия h264->mpeg4 происходит быстрее реалтайма - размер кадра-то 4CIF... но в большинстве случаев переконвертации не будет - как были видеофреймы так и лягут в выходной файл, то же и насчёт аудио.

sptim
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.