2013-04-10 175 views
0

我使用MediaRecorder類將我的android手機上的相機的實時視頻流傳輸到我的計算機。從實時視頻流獲取幀

recorder.setCamera(mCamera); 
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);   
recorder.setOutputFile(uav_UDP_Client.pfd.getFileDescriptor());      
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 

這是基本的想法。所以我想實時顯示這個流。我的計劃是使用FFMpeg將最新幀變成.bmp,並在每次有新幀時在我的C#程序中顯示.bmp。

問題是沒有標題,直到我停止錄製。所以我不能使用FFMpeg,除非有頭文件。我已經看過了spydroid並使用RTP,但我不想因爲各種原因使用此方法。

有關如何輕鬆完成此操作的任何想法?

+0

你有這個解決方案 – 2016-03-18 05:14:09

回答

0

您可以考慮流式傳輸MPEG2 TS並在屏幕上播放,也可以通過RTP傳輸H.264數據並使用客戶端解碼並顯示相同內容。

在Android中,有一個樣品可執行執行RTP分組H.264流的並通過網絡流它。您可以從file中找到有關MyTransmitter的更多詳細信息,這可以作爲您的解決方案的良好參考。

其他信息 在安卓4.2.0版本開始,有一個由名爲MiracastWi-Fi Display這是由Wi-Fi論壇,這是一個稍微複雜的用例的標準化框架支持類似的功能。