

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、ffmpeg時間戳問題匯總A:RFC3984規(guī)定采用90000 Hz的時鐘,因此如果編碼幀頻是30,那么時間 戳間隔就該是90000 / 30 3000,根據(jù)抓包來看,似乎時間戳間隔的確是3000。 時間戳的間隔不固定,比如有的時間戳間隔是2990有的是3002,會導(dǎo)致解析出來 的視頻快播的效果么Q:各位大俠好:我現(xiàn)在正在開發(fā)視頻實時流播放,簡單的過程如下:采集視頻流-視頻流轉(zhuǎn)換為Sorenson H. 263編碼格式-把編碼的實時 流通過RTMP協(xié)議發(fā)送-flash客戶端進(jìn)行播放?,F(xiàn)在我的時間戳顆粒是這樣生成的: 第一幀的時間戳為0;第二幀的時間戳的算法為:第一個字符編碼的當(dāng)前時間- 上一幀
2、第一個字符編碼的當(dāng)前時間根據(jù)這個時間顆粒的算法,我在flash客戶端 播放就會產(chǎn)生延時。請問各位大俠有什么好的建議或是文檔之類的,以前firstime管管建議我看RFC4629文檔,但是效果不太明顯,謝謝A;時間戳順序累加就行了,每次加1Q:最近做了一個捕捉攝像頭并保存FLV的小東西,發(fā)現(xiàn)轉(zhuǎ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進(jìn)行播放。然后DTS是在編碼的時候自己設(shè)置, 剛用ffmpeg,好些東西不懂,還請大俠多多指教-剛才乂試了一下,把
4、time_base降為10幀每秒。播放速度和正常速度接近。但是不知道FLV文件的幀率該設(shè) 置多少合適。有沒有一個權(quán)威的說法。A:我也做攝像頭捕捉,跟你出現(xiàn)一樣的問 題,我自己分析的話,應(yīng)該是捕捉攝像頭的圖像的速度只有10幀每秒,但是保存成 視頻25幀每秒的話播放看起來就非???,但是我攝像頭捕捉設(shè)定的是25幀每秒,難道是速度達(dá)不到,反正我還沒解決,LZ解決了的話告訴下,謝謝。暫時認(rèn)為是攝 像頭捕捉速率問題。換了一個高清無驅(qū)攝像頭就好了Q:在每個音視頻數(shù)據(jù)包中都 含有PTS和DTS,一個數(shù)據(jù)包中應(yīng)該含有多個數(shù)據(jù)幀以及音頻數(shù)據(jù),那么這里的PTS和DTS它是如何來標(biāo)識數(shù)據(jù)幀的,PTS和DTS的單位是什
5、么,視頻的最小單位是幀,可通過PTS來指定它何時播放,那音頻的最小單位是什么,這里的PTS對音頻而言它標(biāo)識的是什么,是這個時間點采樣點嗎,在網(wǎng)上找了很久關(guān)于音視 頻編解碼的資料,都沒有合適的A:audio_timebaseav_q2dfmtctx-streamsaudio_index-time_basevideo_timebaseav_q2dfmtctx-streamsvideo_index-time_baselast_video_pts ptsvideo_timebaselast_audio_pts pts audio_timebasetimebase就是單位以audio為基準(zhǔn)同步video
6、o只要設(shè)置好了ao的參數(shù),如sample rate channels sample Ms:size納audio驅(qū)動就能以正確的速度播放,所以只要程序里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的回復(fù),看后明口 了不少這種同步是音頻抽 樣一次就與一幀圖像去同步的嗎,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:關(guān)于b幀和時間戳的問題我從mpeg2視頻中用av_read_frame讀取視頻幀并解碼,
9、順序是IPBBPBB.它們的pts順序是1423756現(xiàn)在我要 把這個視頻再用mpeg2編碼,最大b幀數(shù)還是2.那么我在編碼時是否要將視頻數(shù)據(jù) 調(diào)整為按顯示時間先后的順序,再交給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一個包中包含有時間 戳而可能兒個包才能解碼出一張圖象也可能一個包能解碼出兒張圖請問包中的 時間戳與解碼出來的圖象如何對應(yīng)上A:在ffmpeg中通過parser部件把從avformat部件取下來的原始包重新“合成”為有僅包含一個完整幀的包。從MPEG2部份 的代碼中看出,如果兒個包才能解碼出一張圖象”的話,會取第一個包的PTS和DTS,如果“也可能一個包能解碼出兒張圖”,則會跟據(jù)這個包的PTS和DTS通過 幀頻推算出其它幀的DTSo Q: ffmpeg的avcod
11、ec_decode_video函數(shù)解碼時間戳問 題,在VLC中調(diào)用avcodec_decode_video函數(shù)進(jìn)行解碼時,AVFrame-pts時間戳不 對,導(dǎo)致我的圖像不能夠顯示,請問有誰知道它的解碼原理,這個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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年能見度測試儀項目可行性研究報告
- 減壓件行業(yè)深度研究分析報告(2024-2030版)
- 中國畜禽養(yǎng)殖業(yè)污染現(xiàn)狀及防治對策
- 智能交通商業(yè)計劃書模板
- 兼職平臺創(chuàng)業(yè)計劃書
- 奶牛血吸蟲病的防控
- 2025年膠粘帶生產(chǎn)制造項目可行性研究報告
- 2025年汽車尾氣凈化項目投資分析及可行性報告
- 家政商業(yè)模式教案
- 美團代運營合同協(xié)議書
- 認(rèn)知知覺障礙的作業(yè)治療概述(作業(yè)治療技術(shù)課件)
- 畢業(yè)論文與畢業(yè)設(shè)計指導(dǎo)課件
- 上海市長寧區(qū)西延安中學(xué)2022-2023學(xué)年八年級數(shù)學(xué)第二學(xué)期期末檢測試題含解析
- 采購合同一般采購合同
- 形象管理(南開大學(xué))【超星爾雅學(xué)習(xí)通】章節(jié)答案
- 《鮮衣怒馬少年時 唐宋詩詞篇 全集 》讀書筆記PPT模板思維導(dǎo)圖下載
- 密度計法顆粒分析試驗記錄(自動和計算)
- 施工方案設(shè)計(宿舍樓裝修改造)
- 園林工程園林給水排水工程
- GB/T 29517-2013散裝鉻礦石手工制樣方法
- GB 5009.76-2014食品安全國家標(biāo)準(zhǔn)食品添加劑中砷的測定
評論
0/150
提交評論