<center id="ybn9x"><menu id="ybn9x"></menu></center>
  1. <progress id="ybn9x"><big id="ybn9x"></big></progress>
  2. <tbody id="ybn9x"><noscript id="ybn9x"></noscript></tbody>

    歡迎來到dcsdn虛擬資源下載!


    音視頻開發

    Android 音視頻開發學習之路

    2021-01-22 15:16:21 admin 595

    Android 音視頻開發這塊目前的確沒有比較系統的教程或者書籍,網上的博客文章也都是比較零散的。只能通過一點點的學習和積累把這塊的知識串聯積累起來。


    1初級入門篇


    • Android 音視頻開發(一) : 通過三種方式繪制圖片

      http://www.cnblogs.com/renhui/p/7456956.html

    • Android 音視頻開發(二):使用 AudioRecord 采集音頻PCM并保存到文件

      http://www.cnblogs.com/renhui/p/7457321.html

    • Android 音視頻開發(三):使用 AudioTrack 播放PCM音頻

      http://www.cnblogs.com/renhui/p/7463287.html

    • Android 音視頻開發(四):使用 Camera API 采集視頻數據

      http://www.cnblogs.com/renhui/p/7472778.html

    • Android 音視頻開發(五):使用 MediaExtractor 和 MediaMuxer API 解析和封裝 mp4 文件

      http://www.cnblogs.com/renhui/p/7474096.html

    • Android 音視頻開發(六): MediaCodec API 詳解

      http://www.cnblogs.com/renhui/p/7478527.html

    • Android 音視頻開發(七): 音視頻錄制流程總結

      http://www.cnblogs.com/renhui/p/7520690.html


    初級入門篇主要是接觸Android多媒體展示相關的API,通過單獨的列舉和使用這些API,對Android音視頻處理有一個基本的輪廓,雖然知識點相對來說是比較散的,但是點成線,線稱面,基本的基礎掌握了,通過學習Android音視頻核心的API將音視頻的流程串聯起來,這樣對于音視頻的了解和控制就不僅僅局限于最外層的API了,而是能夠通過相對底層的方式來加深對Android 音視頻開發的認知。


    2中級進階篇


    OpenGL ES 學習記錄


    學習 Android 平臺 OpenGL ES API,了解 OpenGL 開發的基本流程,使用 OpenGL 繪制基本圖形,并了解相關的API的簡單使用


    • Android OpenGL ES 開發(一): OpenGL ES 介紹

      http://www.cnblogs.com/renhui/p/7994261.html

    • Android OpenGL ES 開發(二): OpenGL ES 環境搭建

      http://www.cnblogs.com/renhui/p/7997557.html

    • Android OpenGL ES 開發(三): OpenGL ES 定義形狀

      http://www.cnblogs.com/renhui/p/8000345.html

    • Android OpenGL ES 開發(四): OpenGL ES 繪制形狀

      http://www.cnblogs.com/renhui/p/8004987.html

    • Android OpenGL ES 開發(五): OpenGL ES 使用投影和相機視圖

      http://www.cnblogs.com/renhui/p/8005512.html

    • Android OpenGL ES 開發(六): OpenGL ES 添加運動效果

      http://www.cnblogs.com/renhui/p/8005518.html

    • Android OpenGL ES 開發(七): OpenGL ES 響應觸摸事件

      http://www.cnblogs.com/renhui/p/8005528.html

    • Android OpenGL ES 開發(八): OpenGL ES 著色器語言GLSL

      http://www.cnblogs.com/renhui/p/8126121.html

    • Android OpenGL ES 開發(九): OpenGL ES 紋理貼圖

      http://www.cnblogs.com/renhui/p/8145734.html

    • Android OpenGL ES 開發(十): 通過GLES20與著色器交互

      http://www.cnblogs.com/renhui/p/8302434.html


    動手實踐,積累實戰經驗:


    • 使用 OpenGL 顯示一張圖片

    • GLSurfaceviw 繪制 Camera 預覽畫面及實現拍照https://github.com/renhui/OpenGLES20Study

    • 使用OpenGL ES 完成視頻的錄制,并實現視頻水印效果https://github.com/renhui/OpenGLVideoRecord/tree/master


    個人學習成果展示:


    • 音視頻錄制流程總結:

      https://github.com/renhui/AndroidRecorder

    • OpenGL ES 學習筆記:

      https://github.com/renhui/OpenGLES20Study

    • OpenGL音視頻錄制項目:

      https://github.com/renhui/OpenGLVideoRecord


    OpenSL ES 學習記錄


    學習 Android 平臺 OpenSL ES API,了解 OpenSL 開發的基本流程,使用OpenSL播放PCM數據,并了解相關API的簡單使用。


    • Android OpenSL ES 開發:Android OpenSL 介紹和開發流程說明

      https://www.cnblogs.com/renhui/p/9567332.html

    • Android OpenSL ES 開發:使用 OpenSL 播放 PCM 數據

      https://www.cnblogs.com/renhui/p/9565464.html

    • Android OpenSL ES 開發:Android OpenSL 錄制 PCM 音頻數據

      https://www.cnblogs.com/renhui/p/9604550.html

    • Android OpenSL ES 開發:OpenSL ES利用SoundTouch實現PCM音頻的變速和變調

      https://www.cnblogs.com/renhui/p/9620400.html

    3高級探究篇


    1. 深入研究音視頻相關的網絡協議,如 rtmp,hls,以及封包格式,如:flv,mp4

    2. 深入學習一些音視頻領域的開源項目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等

    3. 將 ffmpeg 庫移植到 Android 平臺,結合上面積累的經驗,編寫一款簡易的音視頻播放器

    4. 將 x264 庫移植到 Android 平臺,結合上面積累的經驗,完成視頻數據 H264 軟編功能

    5. 將 librtmp 庫移植到 Android 平臺,結合上面積累的經驗,完成 Android RTMP 推流功能


    FFmpeg 學習記錄


    • FFmpeg命令行工具學習(一):查看媒體文件頭信息工具ffprobe

      http://www.cnblogs.com/renhui/p/9209664.html

    • FFmpeg命令行工具學習(二):播放媒體文件的工具ffplay

      http://www.cnblogs.com/renhui/p/8458802.html

    • FFmpeg命令行工具學習(三):媒體文件轉換工具ffmpeg

      http://www.cnblogs.com/renhui/p/9223969.html


    • FFmpeg 學習(一):FFmpeg 簡介

      http://www.cnblogs.com/renhui/p/6922971.html

    • FFmpeg 學習(二):Mac下安裝FFmpeg

      http://www.cnblogs.com/renhui/p/8458150.html

    • FFmpeg 學習(三):將 FFmpeg 移植到 Android平臺

      http://www.cnblogs.com/renhui/p/6934397.html

    • FFmpeg 學習(四):FFmpeg API 介紹與通用 API 分析

      http://www.cnblogs.com/renhui/p/9293057.html

    • FFmpeg 學習(五):FFmpeg 編解碼 API 分析

      http://www.cnblogs.com/renhui/p/9328893.html

    • FFmpeg 學習(六):FFmpeg 核心模塊 libavformat 與 libavcodec 分析

      http://www.cnblogs.com/renhui/p/9343098.html


    FFmpeg 結構體學習


    • FFmpeg 結構體學習(一): AVFormatContext 分析

      https://www.cnblogs.com/renhui/p/9361276.html

    • FFmpeg 結構體學習(二): AVStream 分析

      https://www.cnblogs.com/renhui/p/9469856.html

    • FFmpeg 結構體學習(三): AVPacket 分析

      https://www.cnblogs.com/renhui/p/9488751.html

    • FFmpeg 結構體學習(四): AVFrame 分析

      https://www.cnblogs.com/renhui/p/9493393.html

    • FFmpeg 結構體學習(五): AVCodec 分析

      https://www.cnblogs.com/renhui/p/9493690.html

    • FFmpeg 結構體學習(六): AVCodecContext 分析

      https://www.cnblogs.com/renhui/p/9494286.html

    • FFmpeg 結構體學習(七): AVIOContext 分析

      https://www.cnblogs.com/renhui/p/9494887.html

    • FFmpeg 結構體學習(八):FFMPEG中重要結構體之間的關系

      https://www.cnblogs.com/renhui/p/9494890.html


    4高級探究篇


    GPUImage

    https://github.com/CyberAgent/android-gpuimage


    IjkPlayer

    https://github.com/Bilibili/ijkplayer


    librestreaming

    https://github.com/lakeinchina/librestreaming


    RTMPDump

    http://rtmpdump.mplayerhq.hu/


    SoundTouch

    http://www.surina.net/soundtouch/sourcecode.html


    5學習展望


    完成上面的學習后,可以嘗試做一款音視頻相關的APP,這個APP盡可能多的用上你學習的知識,看看能做到什么程度。如果你能很好的做出來,并認真的把上面列舉的所有的點都完成和整理了,相信你在Android音視頻領域會越走越好。


    推薦的學習資料:


    • 《雷霄驊的專欄》:

      http://blog.csdn.net/leixiaohua1020

    • 《Android音頻開發》:

      http://ticktick.blog.51cto.com/823160/d-15

    • 《FFMPEG Tips》

      http://ticktick.blog.51cto.com/823160/d-17

    • 《Learn OpenGL 中文》

      https://learnopengl-cn.github.io/

    • 《Android Graphic 架構》

      https://source.android.com/devices/graphics/

    • 《Jhuster的專欄》:

      http://blog.51cto.com/ticktick

    • 《ywl5320的專欄》:

      https://blog.csdn.net/ywl5320



    有句古話,師傅領進門,修行靠個人。


    音視頻有著一定的門檻,一個看似簡單的例子實現起來可能因為一兩個參數的問題都會浪費非常久的時間,不過這些經歷都是比較寶貴的,可以讓你更好的去理解各個 API。


    光靠看絕對是不可能精通音視頻的,技術都是一步步積累的,有個正確的方向,堅持去做才可能做好。

    010-10086 服務時間 9:00-22:00

    韩国免费无删减无遮挡免费漫画