SRS2.0實現mp4文件的錄製

srs3.0支持mp4文件的錄製,本文在參考3.0的基礎上,實現了2.0版本的dvr。

整個錄製的流程從SrsSource::on_video_imp(SrsSharedPtrMessage* msg)函數和SrsSource::on_audio_imp(SrsSharedPtrMessage* msg)作爲入口,如下圖所示。

上圖SrsFormat類和重載的video_avc_demux(char* data, int size, SrsFormat* format)函數需要實現,在srs_kernel_codec源文件中。SrsFormat存放video_avc_demux函數解析tag包出來的媒體信息。

 

上圖中重載的video_aac_demux(char* data, int size, SrsFormat* format)函數需要實現。

 

整個錄製的工作在srs_app_dvr源文件中實現,mp4文件的封裝在srs_kernel_mp4源文件中實現,這部分參考srs3.0實現。

其它需要定製的還有寫文件類SrsFileWriter中的函數virtual int lseek(off_t offset, int whence, off_t* seeked)。

代碼見百度雲盤(代碼)目錄下srs-2.0_dvr_mp4.zip文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章