1. 程式人生 > >vlc播放實時流長時間執行及多倍速問題解決

vlc播放實時流長時間執行及多倍速問題解決

現象:vlc長時間執行後,會發現播放的實時視訊越來越慢,甚至出現花屏嚴重的情況.

問題分析:很多人可能首先懷疑是視訊丟包導致的,而實際抓包會發現,並沒有丟包,視訊流是正常的。

解決方案:實際是vlc內部時鐘導致的,vlc內部時鐘是標準的25幀節拍,如果實時流的幀率高於25幀或者低於25幀,vlc實時流正常播放的時間都不會太長,短的會十幾分鍾後出問題,長的則是幾個小時後出問題。

實踐:本人已通過修改內部時鐘機制的方式,實現了vlc一直處於正常播放狀態,一年365天均能正常播放,只要有流就會播放,流恢復後自動恢復播放,應用到實際的播放器或解碼器,效果很好。最近的已經在vlc2.1.1和vlc2.2.7版本均已實現,2.2.7版本可以支援多倍速(通過sdp方式播放流)

多倍速vlc預設也是不支援的,預設最多支援2.5倍速,再打的倍速就會出現花屏,跳幀等,這個需要修改vlc顯示模組的程式碼。

交流:QQ 1535070026