Video streaming over RTP using gstreamer

牧云@^-^@ 提交于 2020-01-06 07:24:42

问题


I am trying to stream a video file using gstreamer from one device to another over RTP. At the sender side I am using the following command :

gst-launch filesrc location=/home/kuber/Desktop/MELT.MPG ! mpegparse ! rtpsend ip=localhost

But this gives the following error : no element "rtpsend" , I downloaded all the rtp tools and still the same error. Am I using rtpsend in some wrong way? Also can someone give me the command line code for streaming video file(locally stored in my laptop and not the testvideosrc file) from one device to another? strong text


回答1:


Assuming this is a MPEG1/2 elementary stream (because you are using mpegparse) that you want to send out You need to use rtpmpvpay after your mpegparse and then give the output to udpsink.

mpegparse ! rtpmpvpay ! udpsink host="hostipaddr" port="someport"

I am not aware of any rtpsend plugin as such. The above holds true for any streaming on rtp.

Do a gst-inspect | grep rtp to see all the payloaders, depayers

If it is a mpegps stream you need to first do a mpegpsdemux before the rest of the pipeline.

EDIT:

Why not remove mpegparse? don't see why you need it. You should learn to look at the source and sink requirements in gst-inspect of the component, that will tell you the compatibility that is needed between nodes. Recieving will be reverse udpsrc port="portno" ! capsfilter caps="application/x-rtp, pt=32, ..enter caps here" ! rtpmpvdepay !



来源:https://stackoverflow.com/questions/13871933/video-streaming-over-rtp-using-gstreamer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!