為什么會去學(xué)FFmpeg,就是因?yàn)樵诳础断蛲纳睢分幸晃挥忻募钨e做網(wǎng)絡(luò)直播還自帶推流設(shè)備。所以去查了推流后就找到了背后的流媒體技術(shù)。FFmpeg也是和圖形圖像相關(guān)的,我認(rèn)為它結(jié)合AI后會做出比較好玩的應(yīng)用。同時(shí)也可以結(jié)合opencv/opengl/vulkan做出漂亮的效果。出于好奇我要先入門,再思考后續(xù)能做出什么好玩的東東。
一,流媒體開發(fā)入門
了解了基本的音視頻基礎(chǔ)后,學(xué)習(xí)了2門網(wǎng)絡(luò)視頻課程來入門。
- 網(wǎng)絡(luò)直播技術(shù)中用到了協(xié)程
協(xié)程機(jī)制的理解 -- Apple的學(xué)習(xí)筆記 - 流媒體服務(wù)器模型入門
服務(wù)器Redis到Memcached的epoll模型--Apple的學(xué)習(xí)筆記
二,Linux中的IO模型
由于百萬級別流量的服務(wù)器設(shè)計(jì)中使用多進(jìn)程+epoll+協(xié)程。服務(wù)器屬于應(yīng)用層開發(fā),調(diào)用了底層驅(qū)動接口。所以我又復(fù)習(xí)了下linux驅(qū)動中的io模型。
三,F(xiàn)Fmpeg入門
網(wǎng)絡(luò)模型+視頻播放=流媒體。所以我學(xué)習(xí)了FFmpeg的API及流程作為入門。同時(shí)學(xué)習(xí)下H.264編解碼協(xié)議。然后自己做了個(gè)視頻畫中畫小項(xiàng)目作為入門階段的畢業(yè)作品。
- vs2017下FFmpeg環(huán)境搭建,實(shí)現(xiàn)視頻播放
FFmpeg音視頻開發(fā)入門--Apple的學(xué)習(xí)筆記 - linux下FFmpeg環(huán)境搭建,實(shí)現(xiàn)視頻播放
同時(shí)看了官網(wǎng)的交叉編譯,貌似沒有什么特別的,所以我就不移植到arm上去了。
ubuntu下ffmpeg的vscode調(diào)試環(huán)境搭建--Apple的學(xué)習(xí)筆記 - 視頻播放項(xiàng)目中將SDL顯示框架改成opencv顯示,同時(shí)解決YUV裸數(shù)據(jù)轉(zhuǎn)RGB格式的bug
ffmpeg通過opencv顯示的bug分析--Apple的學(xué)習(xí)筆記 - 視頻播放項(xiàng)目中內(nèi)存泄漏的解決方法記錄
FFmpeg解決內(nèi)存泄漏--Apple的學(xué)習(xí)筆記 - 實(shí)現(xiàn)視頻畫中畫,作為入門階段的畢業(yè)作品
FFmpeg多線程畫中畫視頻實(shí)現(xiàn)--Apple的學(xué)習(xí)筆記
四,F(xiàn)Fmpeg理論學(xué)習(xí)
- 視頻顯示框架入門
Framebuffer/OpenMax/GStreamer框架學(xué)習(xí)--Apple的學(xué)習(xí)筆記 - 編解碼協(xié)議入門
MPEG-4格式和H.264(ISO14496)入門--Apple的學(xué)習(xí)筆記 - 基礎(chǔ)復(fù)習(xí)
線程池及紅黑樹復(fù)習(xí)--Apple的學(xué)習(xí)筆記