首页 文章

如何从视频HTML5上的gstreamer流中接收rtp,rtcp或udp?

提问于
浏览
1

我正在尝试使用HTML5获取视频流RTP / RTCP,该流由gstreamer生成 . 我使用了gstreamer的例子,所以我可以通过RTP端口:5000和RTCP:5001,并且可以使用gstreamer接收流 . 但是使用HTML5无法接收它们 . 所以我试着读一下HTML5,看到它可以接收theora / ogg,webm / vp8,mp4 / avc,协议可能是HTTP,RTP,RTCP,UDP等,但是我不能使用RTP, RTCP或UDP,HTTP只能设法接收 . 但是我使用UDP协议使用Mozilla Firefox的VLC插件获得了非常令人满意的结果 . 我想知道是否有人有任何提示,我不想使用源文件,因为src =“/ tmp / test.avi”需要是一个视频流,可以是udp,RTP,RTCP . 谢谢!

1 回答

  • 0

    如果您不需要以低fps流式传输,则可以使用GStreamer在MJPEG中对流进行转码并在TCP中进行流式传输,然后使用VLC获取此TCP流并将其流式传输到HTTP . 它运行良好(延迟0.5秒),但如果你减少fps(1 fps),VLC会引入大约11秒的延迟 .

    以下是一些开箱即用的测试命令,使用GStreamer videotestsrc:

    • GStreamer:

    gst-launch -v videotestsrc horizontal-speed = 1! deinterlace!视频!视频! video / x-raw-yuv,帧率= 15/1,宽度= 256,高度= 144! jpegenc质量= 20! multipartmux boundary =“ - videoboundary”! tcpserversink host = localhost port = 3000

    • VLC:

    vlc -vvv -I rc tcp:// localhost:3000 --sout'#standard {access = http {mime = multipart / x-mixed-replace; boundary = - 7b3cc56e5f51db803f790dad720ed50a},mux = mpjpeg,dst = localhost: 8081}”

    • 然后打开浏览器 http://localhost:8081 (或创建一个带有img标签的HTML页面,其"src"属性为 http://localhost:8081

相关问题