gstreamer 中那些gst-launch 命令怎么转换成c语言?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gstreamer 中那些gst-launch 命令怎么转换成c语言?相关的知识,希望对你有一定的参考价值。

参考技术A gst-launch **
首先你要建一个pipeline,然后根据gst-launch后面的插件,建立相应的facotry就行了,类似这样
source = gst_element_factory_make("filesrc", "filesrc");
return_val_if_fail(source,FALSE);
g_print("Good source Element\n");

GstElement *rtpmp2tdepay = gst_element_factory_make("rtpvp8depay",NULL);
if(!rtpmp2tdepay)
g_print("rtpmp2tdepay == NULL\n");

最后到分流,建立相应的pad,最后设置state
参考技术B 新手也进来学习下 参考技术C google一下吧,孩子 参考技术D 这个你看目的啊,你想达到什么目的,应该没有笼统的吧

英伟达jetson盒子gstreamer gst-launch-1.0 录制rtsp为mp4不能播放问题(加-e)(EOS on shutdown enabled)

gst-launch-1.0 rtspsrc location=rtsp://admin:abc12345@192.168.1.67/h264/ch1/main/av_stream ! rtph264depay ! h264parse ! nvv4l2decoder ! nvv4l2h265enc ! h265parse ! mp4mux ! filesink location=XXXX.mp4

生成的视频播放不了。。。

在后面加个-e参数,生成的视频就能播放了

gst-launch-1.0 rtspsrc location=rtsp://admin:abc12345@192.168.1.67/h264/ch1/main/av_stream ! rtph264depay ! h264parse ! nvv4l2decoder ! nvv4l2h265enc ! h265parse ! mp4mux ! filesink location=XXXX.mp4 -e

对比一下,多了这些打印输出

EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...

应该是我们按ctrl+c的时候,它封装mp4有的信息没写进去。。。加了-e后就会在结束时写进去

参考文章:关于GStreamer 保存摄像头数据为MP4

以上是关于gstreamer 中那些gst-launch 命令怎么转换成c语言?的主要内容,如果未能解决你的问题,请参考以下文章

使用 gstreamer 和 gst-launch 循环播放视频?

gstreamer的gst-inspect 和gst-launch

Gstreamer Gstreamer中通过UDP(RTP)远程播放MP3

gstreamer应用

英伟达jetson盒子gstreamer gst-launch-1.0 录制rtsp为mp4不能播放问题(加-e)(EOS on shutdown enabled)

英伟达jetson盒子gstreamer gst-launch-1.0 录制rtsp为mp4不能播放问题(加-e)(EOS on shutdown enabled)