Video streaming 来自Raspberry的HTML5实时流媒体视频

Video streaming 来自Raspberry的HTML5实时流媒体视频,video-streaming,html5-video,gstreamer,Video Streaming,Html5 Video,Gstreamer,我正试图在HTML5网页上使用树莓摄像头制作一个实时流。由于树莓位于防火墙内部,我希望将其流式传输到外部服务器,该服务器应该能够向网页提供流式传输 我能够从树莓中获取流,并使用Gstreamer将其流到外部服务器,如下所示: <video id="video" autoplay="autoplay" controls> <source src="http://EXT_SERVER_IP:5005" type="video/webm" codecs="vp8.0, vor

我正试图在HTML5网页上使用树莓摄像头制作一个实时流。由于树莓位于防火墙内部,我希望将其流式传输到外部服务器,该服务器应该能够向网页提供流式传输

我能够从树莓中获取流,并使用Gstreamer将其流到外部服务器,如下所示:

<video id="video" autoplay="autoplay" controls>
    <source src="http://EXT_SERVER_IP:5005" type="video/webm" codecs="vp8.0, vorbis">
    <source src="http://EXT_SERVER_IP:5006" type="video/ogg" codecs="theora, vorbis">
    <source src="http://EXT_SERVER_IP:5007" type="video/mp4" codecs="avc1.4D401E, mp4a.40.2">
    <source src="http://EXT_SERVER_IP:5008" type="html" codecs="vp8.0, vorbis">
    You browser doesn't support element video.
</video>
覆盆子:

sudo raspivid -t 0 -b 5500000 -n -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink port=5000 host=EXT_SERVER_IP
或者使用videotest信号代替Raspberry:

gst-launch-1.0 -v videotestsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink port=5000 host=EXT_SERVER_IP
外部服务器(显示在监视器上):

或者,外部服务器(使用端口5001上的tcpserver使流可用):

现在我有几个问题:

  • 我需要流是一种格式兼容不同的浏览器(但我很高兴只是让它在Chrome中的一个开始)

  • 我需要使用某些指定端口上的http请求/响应将流提供给网页。Gstreamer似乎无法做到这一点

  • 使用gstreamer从Raspberry到外部服务器的传输速度很快,几乎没有延迟,web演示也必须如此。此应用程序的延迟必须低于0.5秒(因为语音通过其他媒体传输,没有任何延迟)

    我的网页当前看起来如下所示:

    <video id="video" autoplay="autoplay" controls>
        <source src="http://EXT_SERVER_IP:5005" type="video/webm" codecs="vp8.0, vorbis">
        <source src="http://EXT_SERVER_IP:5006" type="video/ogg" codecs="theora, vorbis">
        <source src="http://EXT_SERVER_IP:5007" type="video/mp4" codecs="avc1.4D401E, mp4a.40.2">
        <source src="http://EXT_SERVER_IP:5008" type="html" codecs="vp8.0, vorbis">
        You browser doesn't support element video.
    </video>
    
    
    您的浏览器不支持元素视频。
    
    任何帮助都将不胜感激

    --更新--

    这个项目似乎是一个良好的开端

    但是我仍然需要流在路由器/防火墙之外可用,并且希望通过将流传输到外部服务器来实现这一点。
    我知道portforwarding是一个选项,但这需要摄像头有一个静态的内部ip和路由器配置,我不确定这是否可行。

    您想用于HTML5实时音频/视频流。

    如果文章被删除,总结一下可能会很有用。谢谢。2018年就是这样。我为网络写了一个h264播放器(可以使用raspivid原始h264流),看看
    <video id="video" autoplay="autoplay" controls>
        <source src="http://EXT_SERVER_IP:5005" type="video/webm" codecs="vp8.0, vorbis">
        <source src="http://EXT_SERVER_IP:5006" type="video/ogg" codecs="theora, vorbis">
        <source src="http://EXT_SERVER_IP:5007" type="video/mp4" codecs="avc1.4D401E, mp4a.40.2">
        <source src="http://EXT_SERVER_IP:5008" type="html" codecs="vp8.0, vorbis">
        You browser doesn't support element video.
    </video>