2013-12-17 98 views
1

正在做一個直播視頻廣播項目。如何在Android上使用MediaCodec API解碼H264通過RTP

發件人方面,我正在使用android手機捕獲視頻,獲取H264幀並將它們打包成RTP數據包,分別在RFC> RFC 3984之後。發送方沒有問題。該流被VLC接收和播放。

在接收端,再次一個Android手機。我得到了RTP包成功。它是一個包含H264動態有效載荷的RTP流。我想解開這個流並解碼它,並使用android mediacodec API在接收端渲染它。有人請指導我如何實現這一點。

謝謝。

+0

您是否可以在設備上播放H.264流?即這是一個普遍的「我該如何播放原始視頻」的問題,或者是您的RTP使用案例的具體情況? – fadden

+0

我無法播放正在接收的數據......我不知道該怎麼做......你可以把它當作兩種問題並且請指導我 – Ravi

+0

http:// bigflake上有很多例子。 COM/mediacodec /。你可以嘗試一些類似'ExtractMpegFramesTest'的東西,但是從你的網絡提供NAL單元而不是使用'MediaExtractor'。您需要以某種方式爲其提供SPS/PPS(可能相關:http://stackoverflow.com/questions/20077240/)。 – fadden

回答

0

如果你爲MediaCodec設置了一個視頻視圖,你需要將來自UDP的RTP數據包解包並傳遞給MediaCodec,這樣你就可以渲染你所得到的內容,這就是我將盡力去更新你的結果

+0

你有任何結果嗎?我很好奇,看看它是如何工作的 – rayryeng

1

您需要通過放入參數集和正確的nalu標頭來解包。這是比較簡單的吧小文件和我不能分享我的代碼,這一點,但我可以分享我的硬件的Android解碼器的東西這是在以前的文章:

MediaCodec crash on high quality stream

這是所有你需要做的解碼^ h .264實時android完成剩下的工作。