![ffmpeg時間戳問題匯總_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/29/20ceb095-54ab-4aed-a614-51857dcddf79/20ceb095-54ab-4aed-a614-51857dcddf791.gif)
![ffmpeg時間戳問題匯總_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/29/20ceb095-54ab-4aed-a614-51857dcddf79/20ceb095-54ab-4aed-a614-51857dcddf792.gif)
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、ffmpeg時間戳問題匯總A:RFC3984規(guī)定采用90000 Hz的時鐘,因此如果編碼幀頻是30,那么時間 戳間隔就該是90000 / 30 3000,根據(jù)抓包來看,似乎時間戳間隔的確是3000。 時間戳的間隔不固定,比如有的時間戳間隔是2990有的是3002,會導致解析出來 的視頻快播的效果么Q:各位大俠好:我現(xiàn)在正在開發(fā)視頻實時流播放,簡單的過程如下:采集視頻流-視頻流轉換為Sorenson H. 263編碼格式-把編碼的實時 流通過RTMP協(xié)議發(fā)送-flash客戶端進行播放。現(xiàn)在我的時間戳顆粒是這樣生成的: 第一幀的時間戳為0;第二幀的時間戳的算法為:第一個字符編碼的當前時間- 上一幀
2、第一個字符編碼的當前時間根據(jù)這個時間顆粒的算法,我在flash客戶端 播放就會產生延時。請問各位大俠有什么好的建議或是文檔之類的,以前firstime管管建議我看RFC4629文檔,但是效果不太明顯,謝謝A;時間戳順序累加就行了,每次加1Q:最近做了一個捕捉攝像頭并保存FLV的小東西,發(fā)現(xiàn)轉換完畢后FLV文件,用播放器播放的時候,速度特別快,大概是正常速度的4倍。請 問這是怎么回事,網(wǎng)上搜了一下,說是時間戳的問題,可是PTS我跟了,AVPacket的PTS是每幀增長40, time.base為:25/s.。DTS是個無效值。PTS的計算是 根據(jù)ffmpeg的例子藥的。pkt. pts av_r
3、escale_qoAcc-coded_frame-pts oAcc- time_baseaudio_st-time_basel. dts到底需不需要自己計算,2.還有播放速度 過快的可能原因,3.還有PTS和DTS的具體含義,int64_t ptsIIIpresentation time stamp intime_base unitsint64_t dts / decompression time stamp in time_base units上面的意思是不是說,播放器根據(jù)PTS進行播放。然后DTS是在編碼的時候自己設置, 剛用ffmpeg,好些東西不懂,還請大俠多多指教-剛才乂試了一下,把
4、time_base降為10幀每秒。播放速度和正常速度接近。但是不知道FLV文件的幀率該設 置多少合適。有沒有一個權威的說法。A:我也做攝像頭捕捉,跟你出現(xiàn)一樣的問 題,我自己分析的話,應該是捕捉攝像頭的圖像的速度只有10幀每秒,但是保存成 視頻25幀每秒的話播放看起來就非???,但是我攝像頭捕捉設定的是25幀每秒,難道是速度達不到,反正我還沒解決,LZ解決了的話告訴下,謝謝。暫時認為是攝 像頭捕捉速率問題。換了一個高清無驅攝像頭就好了Q:在每個音視頻數(shù)據(jù)包中都 含有PTS和DTS,一個數(shù)據(jù)包中應該含有多個數(shù)據(jù)幀以及音頻數(shù)據(jù),那么這里的PTS和DTS它是如何來標識數(shù)據(jù)幀的,PTS和DTS的單位是什
5、么,視頻的最小單位是幀,可通過PTS來指定它何時播放,那音頻的最小單位是什么,這里的PTS對音頻而言它標識的是什么,是這個時間點采樣點嗎,在網(wǎng)上找了很久關于音視 頻編解碼的資料,都沒有合適的A:audio_timebaseav_q2dfmtctx-streamsaudio_index-time_basevideo_timebaseav_q2dfmtctx-streamsvideo_index-time_baselast_video_pts ptsvideo_timebaselast_audio_pts pts audio_timebasetimebase就是單位以audio為基準同步video
6、o只要設置好了ao的參數(shù),如sample rate channels sample Ms:size納audio驅動就能以正確的速度播放,所以只要程序里write不出大問題的話, 這種同步是非常有效的。在video out里如下做:pre_timeav_ge11imegl_vovo_displaypicafter_time av_gettimerest_time 10001000/fps一after_time一pre_timeav_diff last_audio_pts一last_video_ptsif av_(Hff 0. 2辻av_diff 0. 5 rest_time - rest_tim
7、e / 4 else rest_time - rest_time / 2else if av_diff一0 2 if av diff一0 5 rest time rest time / 4 else rest time rest_time/ 2if rest_time0 usleeprest_timeQ:謝謝kf701的回復,看后明口 了不少這種同步是音頻抽 樣一次就與一幀圖像去同步的嗎,A:上面的代碼是每display個picture就與audio的PTS比較一下如果沒有audio只有video那么video就會以fps顯示靠的 就是那個usleeprest_timeQ:如何利用AVPack
8、et包里的ptsdts實現(xiàn)音視頻同步, 聲頻播放是只管自己播放,視頻有一個初始化播放幀率,如何根據(jù)AVPacket里的ptsdts還實現(xiàn)兩者的同步,現(xiàn)在我的視頻播放一直按原始播放幀率播放,聲音有點卡 哪位知道,盡快告知小弟A:DTS:decoding time stampPTS:presentation timestampGenerally the PTS and DTS will only differ when the stream we are playing hasBframes in it. Q:關于b幀和時間戳的問題我從mpeg2視頻中用av_read_frame讀取視頻幀并解碼,
9、順序是IPBBPBB.它們的pts順序是1423756現(xiàn)在我要 把這個視頻再用mpeg2編碼,最大b幀數(shù)還是2.那么我在編碼時是否要將視頻數(shù)據(jù) 調整為按顯示時間先后的順序,再交給avcodec_encode_video編碼,即把第 2幀 放在3、4幀之后,第7幀放在5、6幀之后,A:你不能這么做,編碼器會給你這么 做的。如果你有B幀,那么所有的B幀都會被放在緩沖區(qū)里直到下一個I/P幀到 來例如:你的輸入序列是IBBPBBPBBI那么輸出的序列是輸入I,編碼I,輸出I輸入B輸入B輸入P,編碼P,輸出P編碼B,輸出B編碼B,輸出B輸入P編碼P,輸出P。在解碼端所有的P幀都會被放在緩沖力直到下一個I
10、/P真的到來如:解碼I,輸出I解碼P放入緩沖P解碼B,輸出B解碼B,輸出B解碼P,輸出上一次P幀Q:解碼出來的圖片的時間戳問題MPEG一個包中包含有時間 戳而可能兒個包才能解碼出一張圖象也可能一個包能解碼出兒張圖請問包中的 時間戳與解碼出來的圖象如何對應上A:在ffmpeg中通過parser部件把從avformat部件取下來的原始包重新“合成”為有僅包含一個完整幀的包。從MPEG2部份 的代碼中看出,如果兒個包才能解碼出一張圖象”的話,會取第一個包的PTS和DTS,如果“也可能一個包能解碼出兒張圖”,則會跟據(jù)這個包的PTS和DTS通過 幀頻推算出其它幀的DTSo Q: ffmpeg的avcod
11、ec_decode_video函數(shù)解碼時間戳問 題,在VLC中調用avcodec_decode_video函數(shù)進行解碼時,AVFrame-pts時間戳不 對,導致我的圖像不能夠顯示,請問有誰知道它的解碼原理,這個PTS怎么得出 的嗎,還是外部傳入的,A: / NOTE: ipts is the PTS of the _first_ picture beginningin this packet if any / is-video_st-codec-reordered_opaque pkt-pts lenlavcodec_decode_videois-video_st-codec frame g
12、ot_picture pkt-data pkt-size ifdecoder_reorder_pts pkt-dts AV_N0PTS_VALUE frame- reordered_opaque AV_N0PTS_VALUEpts frame-reordered_opaque else ifpkt- dts AV_NOPTS_VALUE pts pkt-dts else pts 0 ptsav_q2disvideo_st- time_baseQ:我貼下VLC的代碼,(vlc-0. 9. 8a/modules/codec/avcodec/video. c文件中)i_used avcodec_decode_videop_sys-p_context p_sys-p_ff_pic b_gotpicture p_sys-i_buffer b_flushNULL :uint8_tp_sys-p_buffer p_sys- i_buffer中間省略
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 港口柴油罐車裝卸合同
- 二零二五年度寶石專家珠寶店品牌推廣合同
- 2025年度辦公用品店租賃與品牌授權合同
- 產品研發(fā)流程規(guī)范作業(yè)指導書
- 酒水購銷合同年
- 軟件公司保密協(xié)議書
- 委托房屋買賣合同
- 建筑裝飾工程門窗施工合同
- 虛擬現(xiàn)實技術專利申請合同
- 展覽會管理合同協(xié)議
- 部編四下語文《口語交際:轉述》公開課教案教學設計【一等獎】
- 倉庫每日巡查制度
- 學校教育數(shù)字化工作先進個人事跡材料
- 2024魯教版七年級下冊數(shù)學第七章綜合檢測試卷及答案
- 企事業(yè)單位公建項目物業(yè)管理全套方案
- 新人教版八年級數(shù)學下冊期末試題
- 《美容心理學》課件-容貌的社會心理價值
- 蘇教版五年級上冊數(shù)學簡便計算大全600題及答案
- 特殊感染器械的處理課件
- 《小兒過敏性紫癜》課件
- 侵占公司資金還款協(xié)議
評論
0/150
提交評論