我們?cè)谑褂胒open打開文件的時(shí)候有時(shí)會(huì)出現(xiàn)失敗返回null情況,但是我們不能直接通過log具體是什么原因?qū)е碌?,所以這時(shí)我們可以通過errno和strerror獲取錯(cuò)誤碼和...
好吧,自己寫的教程不能正常發(fā)布出去,在網(wǎng)上找了一個(gè)跟我使用步驟差不多的教程https://juejin.cn/post/7173447848292253704[https:/...
在Android中,封裝的同步類主要有Mutex(AutoMutex)與Condition。 這兩個(gè)類在android中被大量的使用,這也說明這兩個(gè)類是非常重要的。 一、Mu...
在《Java與CC++交互JNI編程[https://www.cnblogs.com/zuojie/p/16335454.html#autoid-1-5-1]》中有講過Att...
一、實(shí)現(xiàn)seek功能 我們主要是使用ffmpeg的av_seek_frame方法實(shí)現(xiàn)seek功能,但是我們給外界提供seek功能的方法可以不叫seek,我這里使用setTim...
簡介 音視頻同步的實(shí)現(xiàn)可以有兩種方式 視頻同步到音頻 音頻同步到視頻 我們這里選擇第一種,因?yàn)橐纛l播放的頻率是SDL控制的,我們沒法改變,所以使用視頻同步到音頻。 實(shí)現(xiàn)音視頻...
一、簡介 上節(jié)介紹了使用SDL播放音頻,這節(jié)介紹視頻顯示,其解碼流程跟音頻差不多。 解碼視頻是比較耗時(shí)的,需要我們自己開個(gè)線程去解碼,而音頻是SDL幫我們管理了子線程去解碼音...
一、簡介 接著上節(jié)的音頻解碼,使用SDL播放音頻。 通過上節(jié)程序運(yùn)行打印發(fā)現(xiàn)這些音頻信息明顯不符合SDL的,所以我們需要進(jìn)行重采樣 二、音頻重采樣 這里我們可以參考之前的《1...
一、簡介 如上圖,我們?cè)谥骶€程中開啟一個(gè)子線程進(jìn)行解封裝,然后在開兩個(gè)線程分別進(jìn)行視頻解碼和音頻解碼,其中音頻解碼我們使用的是SDL去渲染,SDL自己會(huì)管理子線程,不用我們來...
一、簡介 我們使用QT+ffmpeg實(shí)現(xiàn)一個(gè)播放器,這里我們主要是為了學(xué)習(xí)ffmpege了,而QT只是輔助的,所以播放器的界面搭建我們不在介紹,可以直接看代碼(界面搭建代碼[...
一、簡介 為什么要用多線程?在音視頻領(lǐng)域主要是實(shí)現(xiàn)音視頻同步。實(shí)現(xiàn)了音視頻同步,我們的播放器就基本上合格了。多線程的好處主要是能使程序更加充分利用硬件(主要是CPU)的性能。...
一、什么是封裝格式 封裝格式也稱為容器,用于打包音頻、視頻以及字幕等等,比如常見的容器有MP4、MOV、WMV、FLV、AVI、MKV等等。容器里面裝的是音視頻的壓縮幀,但是...
本文的主要內(nèi)容:對(duì)H.264數(shù)據(jù)進(jìn)行解碼(解壓縮)。 使用FFmpeg命令進(jìn)行H.264解碼 如果是命令行的操作,非常簡單。 使用FFmpeg代碼進(jìn)行H.264解碼 接下來主...
本文的主要內(nèi)容:使用H.264編碼對(duì)YUV視頻進(jìn)行壓縮。 使用FFmpeg命令進(jìn)行H.264編碼 如果是命令行的操作,非常簡單。 使用FFmpeg代碼實(shí)現(xiàn)H.264編碼 接下...
本文主要介紹一種非常流行的視頻編碼:H.264[https://zh.wikipedia.org/wiki/H.264]。 計(jì)算一下:10秒鐘1080p(1920x1080)...
前面文章FFmpeg像素格式轉(zhuǎn)換中我們使用FFmpeg實(shí)現(xiàn)了一個(gè)像素格式轉(zhuǎn)換工具類,現(xiàn)在我們就可以在Qt中利用QImage很容易的實(shí)現(xiàn)一個(gè)簡單的YUV播放器了。 播放器功能很...
簡介 前面使用 SDL 顯示了一張YUV圖片以及YUV視頻。接下來使用Qt中的QImage來實(shí)現(xiàn)一個(gè)簡單的 YUV 播放器,查看QImage支持的像素格式,你會(huì)發(fā)現(xiàn)QImag...
簡介 使用SDL實(shí)現(xiàn)簡單的YUV播放器。這里還需要使用到像素格式和計(jì)算圖片大小,這兩個(gè)我們直接使用ffmpeg來實(shí)現(xiàn),因此需要使用ffmpeg的libavutil/avuti...
一、顯示YUV圖片 顯示 YUV 圖片和顯示 BMP 圖片的大致流程是一樣的。顯示 BMP 圖片我們可以直接獲取到 BMP 圖片的 surface,然后直接從 surface...