видео — gstreamer добавляет текстовый оверлей в Stack Overflow

Я пытаюсь добавить textoverlay в фильм mp4 с gstreamer-0.10. Да, я знаю его старый, но мне нужно всего лишь несколько изменений в mp4. Я знаю, как это сделать с помощью gst-launch-0.10:

gst-launch-0.10 filesrc location = input.mp4 name = src! decodebin
имя = демультиплексор ! очередь ! textoverlay text = «Мой текст»! x264enc!
мультплексор. демультиплексор. ! очередь ! аудиоконвертировать! voaacenc! мультплексор. mp4mux
name = muxer! расположение файловой линии = output.mp4

Это создает текстовое наложение фильма для меня. Но теперь мне нужно добавить textoverlay в следующий бин в cpp — это мой рабочий конвейер, создающий mp4:

QGst::BinPtr m_encBin = QGst::Bin::fromDescription(
"filesrc location=\""+path+"videoname.raw.mkv\" ! queue ! matroskademux name=\"demux\" ""demux.video_00 ! queue ! ffmpegcolorspace ! queue ! x264enc ! queue ! mux.video_00 ""demux.audio_00 ! queue ! audioconvert ! queue ! faac ! queue ! mux.audio_00 ""mp4mux name=\"mux\" ! queue ! filesink name=\"filesink\" sync=false ",
QGst::Bin::NoGhost);

Кто-нибудь знает, как я могу добавить textoverlay в мусорное ведро?
Ура Фредрик

-1

Решение

Я думаю, вы должны добавить очередь а также textoverlay элементы вашего описания конвейера между ffmpegcolorspace а также очередь элементы:

QGst::BinPtr m_encBin = QGst::Bin::fromDescription(
"filesrc location=\""+path+"videoname.raw.mkv\" ! queue ! matroskademux name=\"demux\" ""demux.video_00 ! queue ! ffmpegcolorspace ! queue ! textoverlay text=\"My Text\" ! queue ! x264enc ! queue ! mux.video_00 ""demux.audio_00 ! queue ! audioconvert ! queue ! faac ! queue ! mux.audio_00 ""mp4mux name=\"mux\" ! queue ! filesink name=\"filesink\" sync=false ",
QGst::Bin::NoGhost);

Я думаю, что вы получили downvote, потому что вы не пытались понять описание конвейеров GStreamer и попросили готовое решение.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]