gstreamer在c ++中添加textoverlay
我试图用gstreamer-0.10将一个textoverlay添加到mp4电影中。 是的,我知道它的老,但我只需要对mp4做一些改变。 我知道如何用gst-launch-0.10来做到这一点:
gst-launch-0.10 filesrc location = input.mp4 name = src! 解码器名称= demuxer demuxer。 ! 队列! textoverlay text =“我的文字”! x264enc! 复用器。 分路器。 ! 队列! audioconvert! voaacenc! 复用器。 mp4mux name = muxer! filesink location = output.mp4
这为我创建了一个文本覆盖电影。 但是现在我需要在cpp中的以下bin中添加textoverlay - 这是我创建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添加到bin中? 干杯弗雷德里克
我认为你应该在ffmpegcolorspace和队列元素之间的管道描述中添加队列和textoverlay元素:
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);
我认为你收到了倒退,因为你没有尝试了解GStreamer管道描述,并要求提供随时可用的解决方案。
链接地址: http://www.djcxy.com/p/7643.html