各位 V 友晚上好,第一次在 V 站发求助帖,姿势不对请见谅。。
这个问题是这样的,需求是在浏览器端播放由 IP 摄像头提供的 RTSP 视频流(表述可能不是很专业),目前采用的方案是用 VLC 播放器的浏览器插件( VLC browser plugin )。默认的传输视频的协议是 UDP 。受限于网络环境,视频总是花屏( UDP 不可靠连接),于是决定用 TCP 的方式来传输视频。根据 VLC 的官方文档(
https://wiki.videolan.org/Documentation:WebPlugin/)做了修改:
HTML 的部分是用的<object id="vlc">标签
JavaScript 部分:
var vlc = document.getElementById("id");
var options = new Array("--rtsp-tcp");
var id = vlc.playlist.add("rtsp://192.168.#$%^&此处是地址,记不清了,代码在公司", "fancy name", options);
vlc.playlist.playItem(id);
然而貌似没有起到什么作用,视频依旧花屏,抓包发现传输的协议仍然是 UDP 。
Google 了这个问题,并没有什么收获。就好像没人遇见过这个问题一样。。。 stackoverflow 上倒是有位朋友问 vlc.playlist 里没内容的问题(我用 console.log 把 vlc.playlist 打出来,发现确实是 Object{}),底下唯一的一个答案说这是 VLC web plugin 的 bug ,然后推荐了另一个开源插件( fbvlc ,不过这个插件文档写的不是很清楚)。。。
有之前踩过这个坑的前辈么。。求各位指点。。谢谢大家。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/234277
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.