在Ubuntu中使用Gstreamer通过RTP协议传输Mp4视频

在Ubuntu中使用Gstreamer通过RTP协议传输Mp4视频,ubuntu,video-streaming,gstreamer,rtp,gst-launch,Ubuntu,Video Streaming,Gstreamer,Rtp,Gst Launch,我正在尝试从本地目录获取视频文件,从服务器启用流并从客户端捕获这些帧。我使用了以下管道: 服务器端: 客户端: 设置这些之后,我看不到任何显示,即使是启动应用程序屏幕 为了补充以上信息,我在Ubuntu-12.04的命令行中运行了这些命令。最后,我将能够在启动屏幕中看到一些视频。我使用了以下管道。但是视频不清楚 服务器: gst-launch-0.10-v filesrc location=/home/gokul/video.mp4!qtdemux name=d!队列rtpmp4vpay!udp

我正在尝试从本地目录获取视频文件,从服务器启用流并从客户端捕获这些帧。我使用了以下管道:

服务器端:

客户端:

设置这些之后,我看不到任何显示,即使是启动应用程序屏幕


为了补充以上信息,我在Ubuntu-12.04的命令行中运行了这些命令。最后,我将能够在启动屏幕中看到一些视频。我使用了以下管道。但是视频不清楚

服务器:

gst-launch-0.10-v filesrc location=/home/gokul/video.mp4!qtdemux name=d!队列rtpmp4vpay!udpsink端口=5000

客户:

gst-launch-0.10 udpsrc端口=5000个caps=应用程序/x-rtp,媒体=stringvideo,时钟速率=int90000,编码名称=stringMP4V ES,配置文件级别id=string243,配置=String0001B0F3000001B50EE040C0CF000010000000120008440FA282FA0F0A21F,有效负载=int96,ssrc=UINT429415,时钟基数=uint4002140493,seqnum基数=uint57180!rtpmp4vdepay!ffdec_mpeg4!xImage接收器同步=错误


那么,有谁能建议我如何通过修改或添加一些管道参数来增强客户端的视频图像呢

下面是接收器的管道

发件人:

gst-launch-1.0-v filesrc location=video.mp4!德克宾!x264enc!RTPH264支付!udpsink主机=192.168.1.159端口=5000

输出端盖是否在接收器端使用此盖:

caps=应用程序/x-rtp,媒体=视频,时钟速率=90000,编码名称=H264,有效负载=96,ssrc=3394826012,时间戳偏移=2215812541,seqnum偏移=46353

接收人:

gst-launch-1.0-v udpsrc端口=5000个caps=应用程序/x-rtp,媒体=视频,时钟速率=90000,编码名称=H264,有效负载=96,ssrc=3394826012,时间戳偏移=2215812541,序列号偏移=46353!rtph264depay!德克宾!视频转换!自动视频接收器同步=错误

因此,您将能够流和视频将顺利和干净。
在上面的管道中,如果您使用的是gst-launch-0.10,那么将videoconvert替换为ffmpegcolorspace

此解决方案是否为小部件提供发送到网络的视频?
gst-launch -v  filesrc location=/home/gokul/Videos/Econ_TestVideo/radioactive.mp4 ! qtdemux ! rtpmp4vpay ! udpsink host=192.168.7.61 port=5000 sync=true


Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f528045a1443000001b24c61766335332e33352e30, payload=(int)96, ssrc=(uint)3003638799, clock-base=(uint)1542273545, seqnum-base=(uint)49176
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0.GstPad:sink: caps = video/mpeg, mpegversion=(int)4, systemstream=(boolean)false, profile=(string)simple, level=(string)1, codec_data=(buffer)000001b001000001b58913000001000000012000c48d8800f528045a1443000001b24c61766335332e33352e30, width=(int)1280, height=(int)720, framerate=(fraction)91/3, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: timestamp = 1542273545
/GstPipeline:pipeline0/GstRtpMP4VPay:rtpmp4vpay0: seqnum = 49176
/GstPipeline:pipeline0/GstUDPSink:udpsink0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d8800f528045a1443000001b24c61766335332e33352e30, payload=(int)96, ssrc=(uint)3003638799, clock-base=(uint)1542273545, seqnum-base=(uint)49176
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
gst-launch -v udpsrc port=5000 caps="application/x-rtp" ! rtpmp4vdepay ! mpeg4videoparse ! queue ! ffdec_mpeg4 ! ffmpegcolorspace !  xvimagesink


Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)1, encoding-name=(string)MP4V-ES
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock