關於實時流媒體傳輸的開源庫,目前流行的主要有兩個:live555和jrtplib。
其中live555將rtp、rtcp和rtsp的傳輸協議實現集於一身,功能齊全,是個超強的集合體。但是對於嵌入式系統來說,live555的負載明顯過大(與tcp直接傳輸媒體流相比)。
而jrtplib則是只實現了rtp和rtcp的部分,而沒有實現RTSP的部分。這既是jrtplib的短板,但同時也是jrtplib的優勢。
對比一下live555和jrtplib的example程序,我們可以發現jrtplib要容易理解的多,這對於移植來說絕對是件可喜之事,並且實現RTSP客戶端也並不太難。
myRTSPClient就是本人在閑着無聊之時,把jrtplib的example拿過來修改修改,然后加上RTSP的實現,最終完成的一個RTSP客戶端函數庫。在此拿出來與大家分享,希望對初次接觸RTSP和實時流媒體傳輸的同學們有所幫助。在寫這篇文章的時候,最新版本為myRTSPClient1.0,目前支持的視頻格式只有H264。
最新源碼可以通過git獲取:https://github.com/Ansersion/myRtspClient.git
以下是介紹myRTSPClient相關目錄:
一個基於JRTPLIB的輕量級RTSP客戶端(myRTSPClient):(二)示例
一個基於JRTPLIB的輕量級RTSP客戶端(myRTSPClient):(三)RTSP命令解析
一個基於JRTPLIB的輕量級RTSP客戶端(myRTSPClient):(四)example代碼解析