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

标签 android video streaming video-streaming video-capture

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

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

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

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

最佳答案

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

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

目前我正试图让它一起工作(从 MediaCodec 读取 ByteBuffer 并将其提供给 FFMpeg 记录器)。

有用的链接:

ContinuousCapture 和 Show + record 是最有趣的检查部分

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

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

关于android - 同时在android上流式传输和录制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40391033/

相关文章:

java - 我正在尝试实现下推通知,但 ".build()"显示错误,我不知道为什么

android - 制作 "always running application"的另一种方法?

C++ 新手 : using stream for writing data to file. .. 为什么我的代码引入回车?

asp.net - 使用 ASP.NET 实时流式传输音频

android - 隐藏没有完成的 Activity ()

Android - 如何清除辅助功能焦点

ios - Swift:从for循环轮流播放视频

android - Exoplayer - 如何使 exoplayer 只播放当前可见的视频

php - PHP的要求YouTube视频不起作用

symfony - 如何使用 Symfony 测试客户端检索流式响应(例如下载文件)