H.264实时流媒体

时间:2011-07-07 12:27:08

标签: android streaming camera video-streaming live

我正在尝试构建一个直播由Android手机捕获的视频和音频的系统。我想使用媒体记录器对数据进行编码,然后通过RTP发送,但问题是如何将编码数据放入缓冲区。

2 个答案:

答案 0 :(得分:1)

你做不到。至少你不能没有一些黑客。媒体记录器不支持写入缓冲区。

诀窍是创建管道,提取管道描述符并将其传递给setOutputFile(FileDescriptor fd)函数。这种方法存在一些问题,因为MediaRecorder不以流面向方式编写媒体内容。换句话说,它依赖于它可以导航回文件并稍后编写一些包头的事实。

有关详细信息,请访问:Broadcasting video with Android - without writing to local files

答案 1 :(得分:1)

我找到了另外两个选项(我还没试过):

  1. 内存缓冲区的FileDescriptor:http://www.devdaily.com/java/jwarehouse/android/core/java/android/os/MemoryFile.java.shtml
  2. Android 4.0实施OpenMAX多媒体API:http://developer.android.com/about/versions/android-4.0-highlights.html
  3. 后者可能是你最好的选择。