簡體   English   中英

如何在視頻HTML5上從gstreamer流接收rtp,rtcp或udp?

[英]How to receive a rtp, rtcp or udp, from a stream of gstreamer, on video HTML5?

我正在嘗試使用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的視頻流。 謝謝!

如果不需要以低fps進行流傳輸,則可以使用GStreamer在MJPEG中對流進行代碼轉換並在TCP中進行流傳輸,然后使用VLC獲取此TCP流並將其流傳輸到HTTP。 它工作得很好(0.5秒的延遲),但是如果降低fps(1 fps),則VLC會引入大約11秒的延遲。

這是一些應該使用GStreamer videotestsrc開箱即用的測試命令:

  • GStreamer:

    gst-launch -v videotestsrc horizo​​ntal-speed = 1! 去隔行! 視頻率! 視頻規模! video / x-raw-yuv,framerate = 15/1,width = 256,height = 144! jpegenc質量= 20! multipartmux boundary =“-videoboundary”! tcpserversink主機=本地主機端口= 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM