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,但出于各种原因我不想使用这种方法。

关于如何轻松做到这一点的任何想法?

4

1 回答 1

0

您可以考虑流式传输 aMPEG2 TS并在屏幕上播放它,或者您也可以流式传输H.264数据RTP并使用客户端对其进行解码和显示。

在 Android 中,有一个示例可执行文件执行流的RTP打包H.264并通过网络流式传输。您可以MyTransmitter从此文件中找到有关 的更多详细信息,这可以作为您解决方案的一个很好的参考。

附加信息 在 Android 4.2.0 以后的版本中,有一个类似的功能由称为MiracastWi-Fi DisplayWi-Fi论坛标准化的框架支持,这是一个稍微复杂的用例。

于 2013-04-10T14:29:38.410 回答