国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt/C++音視頻開發(fā)46-音視頻同步保存到MP4

這篇具有很好參考價(jià)值的文章主要介紹了Qt/C++音視頻開發(fā)46-音視頻同步保存到MP4。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、前言

用ffmpeg單獨(dú)做視頻保存不難,單獨(dú)做音頻保存也不難,難的是音視頻同步保存到MP4中,重點(diǎn)是音視頻要同步,其實(shí)這也不難,只要播放那邊音視頻同步后的數(shù)據(jù),寫入到文件即可。最難的是在播放過程中不斷隨機(jī)的切換播放進(jìn)度,而且還會(huì)暫停播放、暫停錄制的情況出現(xiàn),這些個(gè)復(fù)雜情況的出現(xiàn),可以說,測(cè)試了所有網(wǎng)絡(luò)上可能找到的相關(guān)代碼,沒有一個(gè)是行得通的,基本上都是停留在最簡(jiǎn)單的處理。那怎么辦呢?近期花了半個(gè)月的時(shí)間,閉門把這個(gè)硬骨頭啃下來,專門處理這個(gè)問題,畢竟暫停播放、暫停錄制、切換進(jìn)度這些個(gè)情況都是極大概率發(fā)生的,這一關(guān)過不了,就無法號(hào)稱最全播放組件了。總之核心的解決辦法就是,除了要重新調(diào)整時(shí)間基準(zhǔn)以外,還需要在前面重新按照幀數(shù)量和音頻的時(shí)長(zhǎng)來設(shè)置pts/dts,網(wǎng)上能找到的代碼,幾乎都沒看到這個(gè)計(jì)算,幾乎都是調(diào)整時(shí)間基準(zhǔn)的。大致整理了下能夠做到下面幾點(diǎn)的才能基本合格。

  1. 網(wǎng)上的保存計(jì)算都是在理想狀態(tài)下進(jìn)行的(打開后從第一幀開始保存直到結(jié)束)
  2. 中間如果切換了播放進(jìn)度(不是連續(xù)的幀)
  3. 中間暫停了流采集或者暫停了錄制(不是連續(xù)的時(shí)間)
  4. 同時(shí)支持錄制到文件和推流到服務(wù)器
  5. 音視頻同步輸出(任意切換進(jìn)度自動(dòng)同步)
  6. 指定只存儲(chǔ)視頻或者音頻
  7. 音視頻流索引順序是0/1和1/0
  8. 不編碼存儲(chǔ)和重新編碼存儲(chǔ)

為何要區(qū)分不編碼存儲(chǔ)和重新編碼存儲(chǔ)?因?yàn)榫幋a要占用cpu,對(duì)于源頭就是H264/265/AAC這種,完全可以不用編碼直接存儲(chǔ)到MP4文件中,可以大大節(jié)約CPU資源,所以保存類的設(shè)計(jì)中,就應(yīng)該有這個(gè)判斷。文章來源地址http://www.zghlxwxcb.cn/news/detail-582749.html

二、效果圖

到了這里,關(guān)于Qt/C++音視頻開發(fā)46-音視頻同步保存到MP4的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Qt/C++音視頻開發(fā)24-視頻顯示QOpenGLWidget方式(占用GPU)

    采用painter的方式繪制解碼后的圖片,方式簡(jiǎn)單易懂,巨大缺點(diǎn)就是占CPU,一個(gè)兩個(gè)通道還好,基本上CPU很低,但是到了16個(gè)64個(gè)通道的時(shí)候,會(huì)發(fā)現(xiàn)CPU也是很吃緊(當(dāng)然強(qiáng)勁的電腦配置另當(dāng)別論),這就需要考慮用opengl來繪制了,采用opengl走的GPU,會(huì)占用很少的CPU(一般是部

    2024年02月11日
    瀏覽(27)
  • 音視頻開發(fā)系列(10):基于qt的音頻推流

    音視頻開發(fā)系列(10):基于qt的音頻推流

    今天分享一下利用qt錄制音頻,然后再利用ffmpeg推流到nginx服務(wù)器,最后再利用vlc進(jìn)行拉流的demo。 首先介紹一下如何利用qt來進(jìn)行音頻的錄制,qt的音頻錄制主要利用qt的QAudioFormat先進(jìn)行音頻信息的配置。主要需要配置以下的信息: 然后使用QAudioDeviceInfo來獲取是否支持改設(shè)置

    2024年02月02日
    瀏覽(25)
  • Qt音視頻開發(fā)40-ffmpeg采集桌面并錄制

    之前用ffmpeg打通了各種視頻文件和視頻流以及本地?cái)z像頭設(shè)備的采集,近期有個(gè)客戶需求要求將整個(gè)桌面屏幕采集下來,并可以錄制保存成MP4文件,以前也遇到過類似的需求,由于沒有搞過,也沒有精力去摸索和測(cè)試,所以也就一直耽擱著,近期剛好這個(gè)需求又來了,定下心

    2023年04月25日
    瀏覽(21)
  • Qt音視頻開發(fā)32-qmedia內(nèi)核回調(diào)拿圖片數(shù)據(jù)

    Qt音視頻開發(fā)32-qmedia內(nèi)核回調(diào)拿圖片數(shù)據(jù)

    使用qmediaplayer來打開視頻并播放,默認(rèn)首選會(huì)采用QVideoWidget控件來展示,優(yōu)點(diǎn)是不用自己來繪制,一切交給了QVideoWidget控件,這樣可以做到極低的CPU占用,缺點(diǎn)也明顯,就是無法拿到每一幀的圖片,很多時(shí)候我們還需要主動(dòng)拿到每一幀的圖片來運(yùn)算做人工智能,通過不斷的截

    2023年04月10日
    瀏覽(24)
  • Qt音視頻開發(fā)37-識(shí)別鼠標(biāo)按下像素坐標(biāo)

    在和視頻交互過程中,用戶一般需要在顯示視頻的通道上點(diǎn)擊對(duì)應(yīng)的區(qū)域,彈出對(duì)應(yīng)的操作按鈕,將當(dāng)前點(diǎn)擊的區(qū)域或者繪制的多邊形區(qū)域坐標(biāo)或者坐標(biāo)點(diǎn)集合,發(fā)送出去,通知其他設(shè)備進(jìn)行處理。比如識(shí)別到很多人臉,用戶單擊某個(gè)人臉后指定對(duì)該人臉進(jìn)行詳細(xì)的信息查詢

    2023年04月16日
    瀏覽(21)
  • Qt/C++音視頻開發(fā)37-識(shí)別鼠標(biāo)按下像素坐標(biāo)

    在和視頻交互過程中,用戶一般需要在顯示視頻的通道上點(diǎn)擊對(duì)應(yīng)的區(qū)域,彈出對(duì)應(yīng)的操作按鈕,將當(dāng)前點(diǎn)擊的區(qū)域或者繪制的多邊形區(qū)域坐標(biāo)或者坐標(biāo)點(diǎn)集合,發(fā)送出去,通知其他設(shè)備進(jìn)行處理。比如識(shí)別到很多人臉,用戶單擊某個(gè)人臉后指定對(duì)該人臉進(jìn)行詳細(xì)的信息查詢

    2024年02月11日
    瀏覽(28)
  • Qt音視頻開發(fā)36-超時(shí)檢測(cè)和自動(dòng)重連的設(shè)計(jì)

    Qt音視頻開發(fā)36-超時(shí)檢測(cè)和自動(dòng)重連的設(shè)計(jì)

    如果網(wǎng)絡(luò)環(huán)境正常設(shè)備正常,視頻監(jiān)控系統(tǒng)一般都是按照正常運(yùn)行下去,不會(huì)出現(xiàn)什么問題,但是實(shí)際情況會(huì)很不同,奇奇怪怪七七八八的問題都會(huì)出現(xiàn),就比如網(wǎng)絡(luò)出了問題都有很多情況(交換機(jī)故障、網(wǎng)線故障、帶寬故障等),所以監(jiān)控系統(tǒng)在運(yùn)行過程中,還得做超時(shí)檢

    2023年04月13日
    瀏覽(31)
  • 音視頻開發(fā):Qt在視頻剪輯3D桌面軟件獲勝, 嵌入式不敵安卓

    音視頻開發(fā):Qt在視頻剪輯3D桌面軟件獲勝, 嵌入式不敵安卓

    1 Qt Android嵌入式應(yīng)用層開發(fā)方向?qū)Ρ?? 大家都知道啊,做嵌入式linux設(shè)備,一些沒有屏幕,比如安防攝像頭,門鈴之類的,另外一些嵌入式設(shè)備是有觸控屏,在觸控屏上還跑應(yīng)用軟件的,這種比如商場(chǎng)各種自動(dòng)售賣機(jī),鐵路賣票,銀行自助服務(wù),車載系統(tǒng)等。 10年前,我大學(xué)

    2024年02月09日
    瀏覽(21)
  • Qt/C++音視頻開發(fā)50-不同ffmpeg版本之間的差異處理

    ffmpeg的版本眾多,從2010年開始計(jì)算的項(xiàng)目的話,基本上還在使用的有ffmpeg2/3/4/5/6,最近幾年版本彪的比較厲害,直接4/5/6,大版本之間接口有一些變化,特別是一些廢棄接口被徹底刪除了,而網(wǎng)絡(luò)上的各種文章幾乎都是ffmpeg3左右為主的,所以本人在寫這個(gè)全功能播放組件的時(shí)

    2024年02月14日
    瀏覽(27)
  • Qt/C++音視頻開發(fā)60-坐標(biāo)拾取/按下鼠標(biāo)獲取矩形區(qū)域/轉(zhuǎn)換到視頻源真實(shí)坐標(biāo)

    通過在通道畫面上拾取鼠標(biāo)按下的坐標(biāo),然后鼠標(biāo)移動(dòng),直到松開,根據(jù)松開的坐標(biāo)和按下的坐標(biāo),繪制一個(gè)矩形區(qū)域,作為熱點(diǎn)或者需要電子放大的區(qū)域,拿到這個(gè)坐標(biāo)區(qū)域,用途非常多,可以直接將區(qū)域中的畫面放大,也可以將該圈起來的區(qū)域位置發(fā)給設(shè)備,由設(shè)備設(shè)定

    2024年02月03日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包