Android多媒體框架總結(1) - 利用MediaMuxer合成音視頻數據流程分析


場景介紹:

  設備端通過服務器傳向客戶端(Android手機)實時發送視頻數據(H.264)和音頻數據(g711a或g711u), 需要在客戶端將音視頻數據保存為MP4文件存放在本地,用戶可以通過APP或者直接在手機上觀看MP4文件.

解決方案:

  通過Android MultiMedia Framework提供的MediaMuxer類對音視頻數據進行同步合成.

流程圖:

流程分析:

  1.整體來看, 合成的MP4文件, 視頻部分為H.264編碼格式的數據, 音頻部分為AAC編碼格式的數據, 因此, 視頻數據可以不做任何處理, 直接封裝到MP4文件中, 而音頻數據需要先將g711格式的數據轉為AAC格式的數據, 再封裝到MP4文件中.

  2.對於音頻部分, 需要先解碼為PCM原始音頻數據(有很多第三方的解碼庫可以用), 再將解碼后的PCM數據編碼為AAC格式的數據.

  3.通過MediaMuxer提供的接口-writeSampleData(), 將H.264和AAC數據分別同時寫入到MP4文件.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM