web 端播放rtsp 流,通常都是採用vlc插件,默認是用 UDP 協議播放,這就會存在丟包的可能性,致使界面會變花,要想不花,須要使用更可靠的TCP協議。關於這兩種協議的區別,你們能夠自行查資料。web
官方文檔上面告訴咱們設置的方式 ,你們能夠查看文檔 ,代碼以下:tcp
var options = new Array(":aspect-ratio=4:3", "--rtsp-tcp"); var id = vlc.playlist.add("rtsp://servername/item/to/play", "fancy name", options); vlc.playlist.playItem(id);
可是我按文檔的方式設置了,經過抓包的方式查看仍是 UPD 協議,這是就有點崩潰了,一頓經過 Google 找解決方法,但是都沒有用。ide
找方案,試了半天,快要放棄的時候, 改了一下參數,沒想到成功了。最終的解決方法其實很簡單 ,把參數 --rtsp-tcp
設置成 rtsp-tcp
,雞凍人心的時候到了,成功了。這應該是文檔上的一個錯誤,或者是 VLC 的一個bug, 完整代碼:插件
var options = new Array("rtsp-tcp") var id = vlc.playlist.add("rtsp://servername/item/to/play", "fancy name", options); vlc.playlist.playItem(id);
這個問題但願能幫助到也在用VLC插件的其它小夥伴,你們若是有關於VLC 方面的內容,能夠一塊兒交流。code