javascript-在浏览器中显示本地gstreamer流

我有一个使用V4l2接口作为gstreamer管道源的Linux机器中的摄像机供稿.我正在建立一个接口来控制摄像机,我想用HTML / javascript来实现,并与本地服务器通信.问题是从gst管道将供稿输入到浏览器.这样做的选项似乎是:

>从gst到v4l2设备的环回,使用Flash的网络摄像头支持显示
>输出显示在浏览器中的MJPEG流
>输出由Flash显示的RTSP流
>编写浏览器插件
>在浏览器上覆盖本机X应用程序

以前有没有人解决过这个问题的经验?最重要的要求是提要尽可能接近实时.我想尽可能避免使用Flash,尽管可能不会.任何帮助将不胜感激.

解决方法:

您已经考虑过多种解决方案.您还可以将ogg / vorbis / theora或vp8流式传输到一台冰播服务器,请参见OLPC GStreamer wiki for examples.

由于您也在寻找python解决方案(根据您的标签),因此您是否考虑过使用Flumotion?这是使用Twisted在GStreamer之上编写的流服务器,您可以将其与自己的解决方案集成.它可以通过HTTP进行流传输,因此您不需要Icecast服务器.

根据编解码器的不同,可以进行各种调整以实现低延迟.通常,在本地使用Flumotion,您可能会获得几秒钟的延迟,并且我认为可以将其降低(可以调整x264enc使其达到小于一秒的延迟iirc).通常,您必须减小关键帧距离,并且还必须将运动矢量估计限制在附近的几个帧中:但这可能会降低质量并提高比特率.

上一篇:音频视频方案


下一篇:VS2017配置darknet环境配置【目标检测】