ffmpeg -r参数不准确

ffmpeg -r 30,  那么一秒钟发出的rtmp msg包应该为30个左右。

但实际上, 

2017/02/23 13:48:36 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56200 mlen=2773 msid=1 nbufs=22 
2017/02/23 13:48:36 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56267 mlen=1766 msid=1 nbufs=14 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56333 mlen=1285 msid=1 nbufs=11 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56400 mlen=6621 msid=1 nbufs=52 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56467 mlen=1400 msid=1 nbufs=11 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56533 mlen=1432 msid=1 nbufs=12 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56600 mlen=427 msid=1 nbufs=4 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56667 mlen=4685 msid=1 nbufs=37 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56733 mlen=958 msid=1 nbufs=8 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56800 mlen=313 msid=1 nbufs=3 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56867 mlen=607 msid=1 nbufs=5 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=56933 mlen=7603 msid=1 nbufs=60 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57000 mlen=2949 msid=1 nbufs=24 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57067 mlen=1235 msid=1 nbufs=10 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57133 mlen=1565 msid=1 nbufs=13 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57200 mlen=6834 msid=1 nbufs=54 
2017/02/23 13:48:37 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57267 mlen=3512 msid=1 nbufs=28 

2017/02/23 13:48:38 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57333 mlen=1776 msid=1 nbufs=14 
2017/02/23 13:48:38 [debug] 5325#5325: *16 RTMP recv video (9) csid=4 timestamp=57400 mlen=1191 msid=1 nbufs=10 


可以看出一秒钟只收到了 15个包。并且timestamp间隔也是按照fps =15来标记的。不知道为什么。

frame= 1097 fps= 16 q=27.0 size=    3407kB time=00:01:14.44 bitrate= 374.9kbits/    ffmpeg日志也是显示帧率是16. 而不是-r参数所指定的
frame= 1106 fps= 16 q=27.0 size=    3461kB time=00:01:15.05 bitrate= 377.7kbits/
frame= 1115 fps= 16 q=27.0 size=    3511kB time=00:01:15.63 bitrate= 380.3kbits/
frame= 1124 fps= 16 q=27.0 size=    3570kB time=00:01:16.20 bitrate= 383.8kbits/
frame= 1133 fps= 16 q=27.0 size=    3613kB time=00:01:16.84 bitrate= 385.2kbits/
frame= 1142 fps= 16 q=27.0 size=    3680kB time=00:01:17.42 bitrate= 389.3kbits/

试了 -r 1   -r 60等参数, 都不准确。并且暂时没发现规律。


而ffmpeg -g参数为设置 gop_size,I帧间隔。这个基本上是准确的。ffmpeg -g 240。那么可以看到 每240个包左右会收到一个0x17打头的rtmp包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值