2013-04-10 170 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论坛,这是一个稍微复杂的用例的标准化框架支持类似的功能。