搞音視頻開發好些年,分享過許多博客文章,比如:前幾年發布的《FFmpeg Tips》系列,《Android 音頻開發》系列,《直播疑難雜症排查》系列等等。最近想把多年來開發和優化播放器的經驗也分享出來,同時也考慮把自己業餘時間開發的基於 ffmpeg 的播放器內核開源出來,希望能幫助到音視頻領域的初學者。第一期文章要推出的內容主要涉及到播放器比較核心的幾個技術點,大概的目錄如下:
在上一篇文章中,我們有提到利用緩衝區把單線程模型的數據流改造為多線程模型,從而可以有效抵抗網路和解碼的抖動,防止頻繁卡頓,同時也能充分利用多核 CPU 的計算能力,如下圖所示: