当前位置: 首页 > 知识库问答 >
问题:

GStreamer rtp流到vlc

狄元魁
2023-03-14

我在弄清楚如何使用gstreamer创建一个简单的rtp流并在vlc上显示它时遇到了一些困难。

我已经安装了GStreamer 0.10.30和VLC 1.1.3。我唯一的要求是使用MPEG4或H.264编解码器。

现在,我可以通过以下简单的管道传输GStreamer videotestsrc:

gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay ! udpsink host=127.0.0.1 port=5000

它输出客户端接收流所需的“上限”:

/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)000001b001000001b58913000001000000012000c48d8800f50a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)365697461, clock-base=(uint)390754204, seqnum-base=(uint)10399

我还可以使用以下管道显示流:

gst-launch udpsrc uri=udp://127.0.0.1:5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)MP4V-ES, profile-level-id=(string)1, config=(string)000001b001000001b58913000001000000012000c48d88007d0a041e1463000001b24c61766335322e3132332e30, payload=(int)96, ssrc=(uint)298758266, clock-base=(uint)3097828288, seqnum-base=(uint)63478" ! rtpmp4vdepay ! ffdec_mpeg4 ! autovideosink

但当我尝试用vlc接收流时:

vlc -vvv rtp://127.0.0.1:5000

我一无所获...

共有3个答案

陈畅
2023-03-14

对你们中的一些人来说,只需检查答案,而不必在答案下面加评论

对于GStreamer 1.18。xxx。ffenc\U mpeg4被重命名为avenc\U mpeg4(这让我很困惑),所以请尝试命令:

gst-launch-1.0视频测试src!avenc\u mpeg4!rtpmp4vpay配置间隔=1!udpsink主机=127.0.0.1端口=5000

关于VLC和Dave的答案一样

黄宏毅
2023-03-14

如何为H264和新gstream er(windows)

gst-launch-1.0 videotestsrc ! openh264enc ! rtph264pay config-interval=10 pt=96 ! udpsink host=127.0.0.1 port=5000

sdp文件:

v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 H264/90000

有关其他编解码器,请参阅RFC链接中的https://en.wikipedia.org/wiki/RTP_audio_video_profile和相应的SDP示例

宣滨海
2023-03-14

我已经解决了这个问题,它只需要这样一个sdp文件:

v=0
m=video 5000 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 MP4V-ES/90000

rtpmp4vpay元素的选项“send config=true”:

gst-launch videotestsrc ! ffenc_mpeg4 ! rtpmp4vpay send-config=true ! udpsink host=127.0.0.1 port=5000

然后,就可以玩它了

vlc <filename>.sdp
 类似资料:
  • 我的流服务执行的操作很少: 在进行测试时,我发现我的服务在调用函数后中断了,该函数将把我的数据写入由Kafka Streams将KTable转换为Kafka Streams创建的新主题。 我检查了KStreams创建的主题,主题就在那里: 我发现有三个输入,即,我不知道第三个输入是什么: 为了确保所有内容都被覆盖,这里是我的配置: 我的问题是,我们的部署正在工作,突然所有的东西都开始出现这个错误:

  • 我们希望将数据从DynamoDB非关系型数据库作为流连续移动到红移数据库。我很难理解AWS中的所有新术语/技术。有 1) DynamoDB流 2)AWS Lambda 3) AWS Kinesis消防水带 有人能提供每一个的简要总结吗。什么是DynamoDB流?这与亚马逊运动有何不同?在阅读了所有的资源后,这是我对假设的理解,请在下面进行验证。 (a)我假设DynamoDB Streams,创建非

  • 我目前正在使用DynamoDB流,并期待着转向Kinesis流,因为我想控制我喜欢从流中处理的记录数量。 我一直在读有关Kinesis流和lambda的文章。有很多关于Kinesis流和EC2的多用户和KCL等的文章。 null

  • 我有这个输入流: 如何将其转换为ServletInputStream? 我试过: 但不工作。 编辑: 我的方法是这样的: 我正在尝试将我的所有请求转换为小写。

  • 使用阻塞运算符,我可以这样做:

  • 感谢大家提前:) 我想在你开始阅读之前说清楚,我想开发一个基于Android的应用程序,使用Android设备作为广播公司,它使用麦克风记录声音,并将其发送到shoutcast服务器,类似于这样: 连接互联网的Android设备- 所以请不要在android上玩shoutcast流混淆,因为我不想开发一个播放器来玩流。如果你正在寻找开发一个播放器,然后从给定的链接下载源代码,它对我来说很好。点击下