带有rtmp的Android摄像头流具有稳定的5秒延迟

时间:2014-04-08 19:39:00

标签: android video ffmpeg h.264 rtmp

我使用ffmpeg与h264 build和javacv在android上将视频从摄像头传输到rtmp服务器。 我试图设置所有可能的视频帧率和比特率,设置预设超快,但我仍然有稳定的5秒延迟。 如果我使用android mediarecorder将mpegts流与rtmp一起发送到服务器,我只有2秒延迟,如果我在客户端(ffmpeg)上使用-fflags nobuffer选项,则视频会立即出现。

我不知道android ffmpeg如何减少这种延迟。 代码如下:

    recorder = new FFmpegFrameRecorder(ffmpeg_link, imageWidth, imageHeight, 1);
    recorder.setFormat("flv");
    recorder.setFrameRate(frameRate);
    recorder.setVideoBitrate(900*1000);
    recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
    recorder.setVideoOption("preset", "ultrafast");
    recorder.setVideoOption("tune", "zerolatency");
    recorder.setVideoOption("fflags", "nobuffer");
    recorder.setVideoOption("analyzeduration", "0");

0 个答案:

没有答案