ffmpeg rtmp网络摄像头直播iphone / pad段大小太大了

时间:2013-02-01 00:57:04

标签: iphone ffmpeg rtmp http-live-streaming

我正在从red5服务器转码rtmp流,以便在iphone或ipad设备上直播。我使用内置的分段器从git repo构建最新的ffmpeg版本,使用以下内容创建.ts文件和m3u8播放列表文件:

ffmpeg -probesize 50k -i "rtmp://localhost/oflaDemo/red5StreamDemo live=1" \
-c:v libx264 -b:v 128k -vpre ipod320 -flags -global_header -map 0 \
-f segment -segment_time 3 -segment_list foo.m3u8 -segment_list_flags +live \
-segment_list_type m3u8 -segment_list_size 5 -segment_format mpegts foo%d.ts

这样可以正常工作,但即使设置为3(-segment_time 3),我也无法将段大小小于约12秒。它似乎是由libx264 vcodec引起的。 我错过了任何旗帜吗?

顺便说一下,你可以通过启动red5 SimpleBroadcaster示例来简单地运行上面的ffmpeg命令。

1 个答案:

答案 0 :(得分:2)

我怀疑这是因为GOP的大小。分段器需要I帧边界才能创建段。

ffmpeg -probesize 50k -i "rtmp://localhost/oflaDemo/red5StreamDemo live=1" \ -c:v libx264 -b:v 128k -g 90 -vpre ipod320 -flags -global_header -map 0 \ -f segment -segment_time 3 -segment_list foo.m3u8 -segment_list_flags +live \ -segment_list_type m3u8 -segment_list_size 5 -segment_format mpegts foo%d.ts

添加-g 90.可以提供帮助。