請(qǐng)尊重分享成果,轉(zhuǎn)載請(qǐng)注明出處,本文來自Coder包子哥,原文鏈接:http://blog.csdn.net/zxccxzzxz/article/details/54254244

前面的Android實(shí)現(xiàn)錄屏直播(一)ScreenRecorder的簡(jiǎn)單分析一文中我們對(duì) ScreenRecorder 這個(gè)開源 Demo 中的實(shí)現(xiàn)機(jī)制大概有了了解,但在繼續(xù)寫這個(gè)系列文章的時(shí)候發(fā)現(xiàn)每一個(gè)細(xì)節(jié)都太緊密了,稍微不注意就會(huì)深入每個(gè)知識(shí)點(diǎn)的細(xì)節(jié)導(dǎo)致文章又臭又長還表述不清晰,于是我決定把這7天實(shí)現(xiàn)該功能的整個(gè)流程重新梳理一遍,按照我開發(fā)和研究學(xué)習(xí)的步驟來寫,大致過程如下:

  1. 產(chǎn)品功能調(diào)研

  2. Bilibili 的反編譯及 UI 的編寫

  3. ScreenRecorder 等 Demo 的代碼分析

  4. 對(duì) H264 結(jié)構(gòu)、FLV 格式封裝的研究學(xué)習(xí)

  5. sps pps avcc 關(guān)鍵幀等視頻封裝原理的學(xué)習(xí)與分析

  6. MediaProjection 實(shí)現(xiàn)錄屏中 MediaCodec 的詳細(xì)用法

  7. 編碼后的幀進(jìn)行推流

產(chǎn)品功能調(diào)研

我們作為技術(shù)開發(fā)人員,任務(wù)下發(fā)的時(shí)候首先要與產(chǎn)品經(jīng)理進(jìn)行需求的深入了解,只有了解對(duì)方想要的是什么后我們功能實(shí)現(xiàn)才能達(dá)到他們最大的期望值。當(dāng)然一旦確定需求后把菜刀亮出來,然后就輕松愉快的寫代碼吧??。嗯,本次任務(wù)就是盡可能的還原Bilibili的錄屏直播功能,汗顏,無需設(shè)計(jì),無需討論,我自己研究吧,反正項(xiàng)目一直都是我一人開發(fā),也習(xí)慣了(PS: 盡管是Bilibili