2013-02-06 20 views
1

我试图使用RTMP将我的摄像头与FFmpeg流式传输到我的Red5服务器。我做这个成功使用FLV格式如下一行:使用H.264(带音频)的FFmpeg流式传输 - Red5媒体服务器(Ubuntu操作系统)

ffmpeg -f video4linux2 -i /dev/video0 -f flv rtmp://localhost/live/livestream 

我是新来的FFmpeg和现场直播,我已经尝试使用流式传输H.264/MPEG-4。但我的知识有限FFmpeg选项(我在这里找到:http://man.cx/ffmpeg%281%29)。

所以,我的问题是:

  1. 如何使用H.264/MPEG-4流式传输到我的Red5服务器?

  2. 还有什么流式传输音频的选项?

  3. 而最后一个问题是:

我有大约5秒的延迟,当我玩JWPlayer在Mozilla Firefox(在Ubuntu)的内容。你能帮我解决这个问题吗?任何建议,为什么这可能是?

非常感谢

+0

你是否用'-f mp4'或'-f m4v'代替'-f flv'?对于mp4,ffmpeg默认使用H.264和AAC编解码器。 – d33pika

+0

-f mp4是一个坏主意,因为-f flv对于rtmp流是必需的,而mp4不适合流式传输。 –

+0

我正在尝试相同的东西。我启动Red5服务器,但是如果我使用相同的ffmpeg命令,则终端输出:rtmp:// localhost/live/livestream:发生未知错误 – user1914692

回答

1

没有必要使用的ffmpeg流媒体H.264/MPEG-4文件,因为RED5已建立在这种支持。使用ffmpeg只会对CPU使用率造成不必要的负担。 Red5会自动识别文件类型,您只需在JWPlayer中指定mp4文件即可。

关于延迟,据我所知JWPlayer的默认缓冲区为3秒。你可以尝试降低这个(属性bufferlength或类似的东西)。也许JWPlayer有一个“活”的属性,以及最小的延迟流,但我不知道这一点。删除ffmpeg也可能会加速这个过程。

+0

感谢您的建议,我会牢记这一点。 –