我正在尝试构建一个实时视频流应用程序,从
Android播放直播视频.
使用MediaRecorder类,我可以使用h263编解码器以3gp的形式捕获视频数据.
但是,当我运行我的应用程序和流媒体时,我在服务器端延迟2-3秒.
为什么我得到这个延迟?有没有任何需要刷新的内部缓冲区?使用MediaRecorder类,还有其他的流媒体视频方式吗?
解决方法
如果您从Android上安装RTMP流,最佳解决方案是
MediaCodec FFmpeg librtmp.这避免了任何恶意的“检测”内部的NAT单元“业务,但需要Android 4.3.滑冰去冰球
我开发了一个open source SDK,演示了RTOM流媒体与FFmpeg + librtmp as pre-built shared libraries. SDK是专注于HLS流,但RTMP支持存在.
如果您希望帮助您自己构建适用于Android的FFmpeg(有或没有librtmp),check out my guide.