我正在尝试构建一个实时视频流应用程序,用于从 Android 流式传输实时视频。
使用 MediaRecorder 类,我能够使用 h263 编解码器以 3gp 格式捕获视频数据。
但是,当我运行我的应用程序和流媒体时,我在服务器端遇到 2-3 秒的延迟。
为什么我会遇到这种延迟?是否有任何我需要刷新的内部缓冲区?除了使用 MediaRecorder 类之外,还有其他流式传输视频的方法吗?
最佳答案
如果您设置为从 Android 进行 RTMP 流式传输,最好的解决方案是 MediaCodec + FFmpeg + librtmp。这避免了任何骇人听闻的“检测字节流中的 NAL 单元”业务,但需要 Android 4.3。滑到冰球要去的地方...
我开发了一个 open source SDK用 FFmpeg + librtmp as pre-built shared libraries 演示 RTMP 流式传输.该 SDK 专注于 HLS 流式传输,但存在 RTMP 支持。
如果您想帮助自己为 Android 构建 FFmpeg(有或没有 librtmp),check out my guide .
关于android - Android 上的实时视频流应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5339330/