同时在 android 上流式传输和录制视频

Streaming and recording video on android at the same time

我正在寻找一个库,该库提供从 android 设备 (5.1+) 流式传输视频并同时录制的功能。

我尝试了 MediaRecorder - 在 android 上录制视频的常用方法 - 但是我无法通过 webrtc 或 rtsp 流式传输它,因为相机很忙。

目前我正在使用libstreaming。只需稍加修改,应用程序就可以同时通过 rtsp 进行录制和流式传输。但是这个库不支持 MTK 和 SPRG 芯片组中的硬件编解码器。

我想知道你是否可以推荐一个解决方案或另一个库。 目前 lib 仅适用于带有 qcom 芯片组的 nexus 4。

经过几天的研究,我决定结合使用 FFMpeg 和 MediaCodec。

似乎从相机高速获取帧的唯一方法是使用 Android MediaCodec API。但是 MediaCodec 只支持 mp4 文件格式,这对我来说不是一个选项(我需要 ts),而 FFMpeg 可以 process\create 任何一种人类已知的视频格式。

目前我正在尝试使其协同工作(从 MediaCodec 读取 ByteBuffer 并将其输入 FFMpeg 记录器)。

有用的链接:

ContinuousCapture 和 Show + record 是最值得检查的部分

有录制和流式传输的示例。

使上述两个工具协同工作的库也是开源的。可悲的是,它并没有完全解决我的问题。我需要的功能已请求但尚未实现:https://github.com/bytedeco/javacv/issues/95