我想在android中输出带有媒体记录器的基本视频流,以便使用live555进行流式传输。本质上,我想让媒体记录器输出MPEG-4 Video Elementary Stream file
(.m4e
文件)或H.264 Video Elementary Stream file
(.264
文件)。在Android上使用媒体记录器可以做到这一点吗?或者还有其他方法让它发挥作用吗?
答案 0 :(得分:1)
从MediaRecorder API我发现你必须在调用prepare()之前调用setOutputFormat(),这限制你选择一个可用的选项 - 3GP / MP4。因此,您可以使用自己的解析器对来自mediarecorder的转储进行操作,这可以为您提供基本流。
答案 1 :(得分:1)
据我所知,答案是在录制时使用MediaRecorder
并不容易。您可以在录制视频后使用ffmpeg
毫无困难地执行此操作。原因是,MediaPlayer
不能记录为基本流。即使我们仅录制视频,也将采用3GPP或MP4等容器格式。现在,对于像ffmpeg
这样的工具来处理这些文件,他们需要在记录文件上存在3GPP或MP4头信息。但是,MediaPlayer
只有在完成录制后才会将这些标题写入文件。