在android手机中使用gstreamer流式传输网络内容

我是Gstreamer的新手。 我正在尝试使用gstreamer进行网络流式传输。 我可以使用下面的gst命令来实现这一点。 它为我工作很好。

在发射机上:gst-launch-1.0 -v filesrc location = / home / user / Downloads / big_buck_bunny_480p_h264.mov! 解码器! x264enc! rtph264pay! udpsink主机= 127.0.0.1端口= 5000

在接收端:gst-launch-1.0 -v udpsrc port = 5000 caps =“application / x-rtp,media =(string)video,clock-rate =(int)90000,encoding-name =(string)H264,payload = (int)96“! rtph264depay! 解码器! videoconvert! autovideosink

在这里,我使用相同的Ubuntu PC来传输和接收视频。

但现在我想在我的android手机上播放收到的视频,而不是Ubuntu PC。 我的意思是Ubuntu的PC应该充当发射器和Android手机作为接收器。 有什么办法可以做到这一点?

Android手机连接到网络10.xx.yy.zz。 (Android手机和Ubuntu PC在同一个局域网中)所以我把发送器的udpsink主机改为10.xx.yy.zz。 现在我期待视频在Android设备上播放。 但它没有。 我在发送端和接收端收到以下日志消息

在Transmitter:/ GstPipeline : pipeline0/GstRtpH264Pay : rtph264pay0.GstPad : sink:caps = video / x-h264,codec_data =(buffer)0164001effe1001a6764001eacd940d83de6f011000003000100000300308f162d9601000568ebecb22c,stream-format =(string)avc,alignment =(string)au,level =(字符串)3,profile =(string)high,width =(int)854,height =(int)480,pixel-aspect-ratio =(fraction)1/1,framerate =(fraction)24/1 / GstPipeline:pipeline0 / GstRtpH264Pay:rtph264pay0:timestamp = 456403579 / GstPipeline:pipeline0 / GstRtpH264Pay:rtph264pay0:seqnum = 50171管道已预先...将管道设置为PLAYING ...新时钟:GstSystemClock

在Receiver: (string)H264,payload =(int)96“!rtph264depay!decodebin!videoconvert!autovideosink将管道设置为PAUSED ... /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src:caps = application / x-rtp ,media =(string)video,clock-rate =(int)90000,encoding-name =(string)H264,payload =(int)96 /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink:caps = application / x -tp,media =(string)video,clock-rate =(int)90000,encoding-name =(string)H264,payload =(int)96流水线是活动的并且不需要PREROLL ...将流水线设置为PLAYING。 ..新时钟:GstSystemClock

请帮忙。 提前致谢。


对于android,你可以使用vlc ..也许你需要这个流的sdp文件,就像这个问题 - 检查评论。

或者你可以通过使用mpegtsmux这样的解决方案,在这个答案中使用mpegtsmux来做到这一点..在vlc上,然后你将使用“打开直播流”并放在那里udp:// @:5000(其中5000是你在发送者管道上使用的端口)

对于IP问题 - 如果它与Ubuntu PC相同的局域网是的,它会工作(如果不是用细节编辑你的问题)。

您可以尝试使用另一台PC(而不是android)和vlc - 使用mpegtsmux,如上所述。

链接地址: http://www.djcxy.com/p/43997.html

上一篇: Streaming Network content in android phone using gstreamer

下一篇: gstreamer stop streaming on silence