ffmpeg r引數不準確

2021-07-27 09:08:41 字數 3121 閱讀 1334

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包。

UITextView frame計算不準確

uitextview在上下左右分別有乙個8px的padding 需要將uitextview.contentsize.width減去16畫素 左右的padding 2 x 8px 同時返回的高度中再加上16畫素 上下的padding 這樣得到的才是uitextview真正適應內容的高度。width 是...

Elasticsearch 聚合 不準確問題

在做es 聚合查詢時,發現資料不準確 根據name 聚合,查詢出wang jie有5個文件,然後。根據這個姓名查詢,確有7個文件 說明,第一次聚合查詢不準確 如下圖 第一次 對應dsl 第二次 對應dsl 於是網上搜尋一波,看了幾篇文章,大概總結一下 es 的資料是在shard上儲存的,乙個索引預設...

Reachability判斷的不準確 檢測網路

nsstring strnetworktype 建立零位址,0.0.0.0的位址表示查詢本機的網路連線狀態 struct sockaddr storage zeroaddress bzero zeroaddress,sizeof zeroaddress zeroaddress.ss len size...