好多開發者在作產品競品分析的時候,不知道如何界定一個RTSP播放器,大牛直播SDK認爲,一個RTSP播放器,不是說有幾個相似於Open/Close接口就夠了,好的RTSP播放器須要具有如下功能和性能屬性:html
1. 低延遲:大多數RTSP的播放都面向直播場景,因此,若是延遲過大,好比監控行業,小偷都走了,客戶端纔看到,或者別人已經按過門鈴幾秒,主人才看到圖像,嚴重影響體驗,因此,低延遲是衡量一個好的RTSP播放器很是重要的指標,目前大牛直播SDK的RTSP播放延遲控制在幾百毫秒,VLC在幾秒,這個延遲,是長時間的低延遲,好比運行1天、一週、一個月甚至更久;算法
2. 音視頻同步或跳轉:有些開發者爲了追求低延遲體驗,甚至不作音視頻同步,拿到audio video直接播放,致使a/v不一樣步,還有就是時間戳亂跳;服務器
3. 支持多實例:一個好的播放器,須要支持同時播放多路音視頻數據,好比4-8-9-16-32窗口;網絡
4. 支持buffer time設置:在一些有網絡抖動的場景,播放器須要支持精準的buffer time設置,通常來講,以毫秒計;ide
5. H.265的播放和錄製:除了H.264,還須要支持H.265,目前市面上的RTSP H.265攝像頭愈來愈多,支持H.265的RTSP播放器迫在眉睫,此外,單純的播放H.265還不夠,還須要能夠能把H.265的數據能錄製下來;性能
6. TCP/UDP模式切換:考慮到好多服務器僅支持TCP或UDP模式,一個好的RTSP播放器須要支持TCP/UDP模式自動切換;視頻
7. 靜音支持:好比,多窗口播放RTSP流,若是每一個audio都播放出來,體驗很是很差,因此實時靜音功能很是必要;htm
8. 視頻view旋轉:好多攝像頭因爲安裝限制,致使圖像倒置,因此一個好的RTSP播放器應該支持如視頻view實時旋轉(0° 90° 180° 270°)、水平反轉、垂直反轉;blog
9. 支持解碼後audio/video數據輸出(可選):大牛直播SDK接觸到好多開發者,但願能在播放的同時,獲取到YUV或RGB數據,進行人臉匹配等算法分析,因此音視頻回調可選;接口
10. 快照:感興趣或重要的畫面,實時截取下來很是必要;
11. 網絡抖動處理(如斷網重連):基本功能,再也不贅述;
12. 跨平臺:一個好的播放器,跨平臺(Windows/Android/iOS)頗有必要,起碼爲了後續擴展性考慮,開發的時候,有這方面的考慮,目前大牛直播SDK的RTSP播放器,完美支持以上平臺;
13. 長期運行穩定性:提到穩定性,好多開發者不覺得然,實際上,一個好的產品,穩定是最基本的前提,不容忽視!
14. 能夠錄像:播放的過程當中,隨時錄製下來感興趣的視頻片段,存檔或其餘二次處理;
15. log信息記錄:總體流程機制實時反饋,很少打log,可是不能一些重要的log,如播放過程當中出錯等;
16. download速度實時反饋:能夠看到實時下載速度反饋,以此來監聽網絡狀態;
17. 異常狀態處理:如播放的過程當中,斷網、網絡抖動、來電話、切後臺後返回等各類場景的處理。
說了這麼多,有開發者會反問,大牛直播SDK到底支持了哪些?如下作個簡單功能概述,如不單獨說明,系Windows、Android、iOS全平臺支持: