簡 介? ? 該課程包含 C/C++ 基礎和進階、JNI 基礎實戰、數據結構和算法、智能識別、Linux 內核和音視頻實戰,是大家從中級到高級過渡的一個必經過程。
第一部分:入門 C 的基礎、C++ 的基礎和 JNI 基礎,分析 JNIEnv 的實現原理,手寫 Android 共享內存的序列化過程等等。
第二部分:深入 C 的進階和 C++ 的進階,分析內存四驅模型和項目開發模型,強化二級指針與多級指針,刨析 STL 的設計理念與算法等等。
第三部分:主講數據結構和算法,這部分知識是面試的必備基礎,同時也是為后面的智能識別與音視頻開發做鋪墊,我們不能只停留在 API 的調用階段。數組、鏈表、棧、隊列、二叉樹、AVL 樹、紅黑樹、哈夫曼編碼、圖、LeetCode 刷題等等。
第四部分:主講 OpenCV 智能識別,首先帶大家熟悉常用 API,其次帶大家手寫實現算法,最后帶大家實戰銀行卡掃描,二維碼檢測,實現人臉美容,實時人臉識別等等。
第五部分:主講 Linux 內核,Android 系統是基于 Linux 內核的,我們熟悉了 Linux 內核也就熟悉了 Android 底層。應用編譯運行的工作過程,進程創建與進程管理,IPC 進程間通信,Binder 驅動的底層原理等等。
第六部分:主講音視頻開發,自己動手編譯 FFmpeg,打造一款萬能的音視頻播放器,多線程隊列解碼播放,錄制視頻加背景音樂,OpenGL 渲染相機添加水印,H264 協議詳解,Android 直播推拉流等等。
.
├── 01.NDK開發前奏 – x團參數加密和簽名校驗
│? ?├── 01.怎么架構新項目.wmv
│? ?├── 02.加密算法介紹.wmv
│? ?├── 03.MD5參數加密實現.wmv
│? ?├── 04.APP簽名校驗.wmv
│? ?└── 筆記和資源
│? ?? ? ├── 01.NDK開發前奏 – x團參數加密和簽名校驗.mht
│? ?? ? └── NDK_Day01.rar
├── 03.NDK開發前奏 – 視頻轉碼壓縮
│? ?├── 01.視頻轉碼壓縮介紹.wmv
│? ?├── 02.ffmpeg整合集成.wmv
│? ?├── 03.壓縮回調處理.wmv
│? ?└── 筆記和源碼
│? ?? ? └── NDK_Day03.rar
├── 05.NDK開發前奏 – 實現支付寶人臉識別功能
│? ?├── 01.opencv 介紹和整合.wmv
│? ?├── 02.人臉識別實現的思路.wmv
│? ?├── 03.opencv圖像灰度處理.wmv
│? ?├── 04.實現人臉識別.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 05.NDK開發前奏 – 實現支付寶人臉識別功能.mht
│? ?? ? └── NDK_Day05.rar
├── 06.C基礎 – 基本數據類型與指針入門
│? ?├── 01.C開發的一些準備工作.wmv
│? ?├── 02.基本數據類型.wmv
│? ?├── 03.變量地址和指針變量.wmv
│? ?├── 04.通過指針變量修改值.wmv
│? ?├── 05.面試題講解.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 06.C基礎 – 基本數據類型與指針入門.mht
│? ?? ? └── NDK_Day06.rar
├── 07.C基礎 – 指針運算和函數指針
│? ?├── 01.二級指針和多級指針 .wmv
│? ?├── 02.數組和數組指針.wmv
│? ?├── 03.指針循環遍歷和賦值.wmv
│? ?├── 04.指針與數組的幾種寫法.wmv
│? ?├── 05.函數指針.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── NDK_Day07.rar
│? ?? ? └── 筆記.png
├── 08.C基礎 – 動態開辟內存和字符串
│? ?├── 01.上次內容回顧.wmv
│? ?├── 02.如何文檔閱讀.wmv
│? ?├── 03.靜態內存開辟和動態內存開辟.wmv
│? ?├── 04.動態內存開辟的實用場景.wmv
│? ?├── 05.realloc和動態內存開啟注意事項.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 08.C基礎 – 動態開辟內存和字符串.mht
│? ?? ? ├── C語言中文幫助文檔.rar
│? ?? ? ├── NDK_Day08.rar
│? ?? ? ├── realloc.png
│? ?? ? ├── 函數指針.png
│? ?? ? └── 動態內存開辟.png
├── 09.C基礎 – 字符串常見操作和指針練習
│? ?├── 01.字符串長度.wmv
│? ?├── 02.字符串類型轉換.wmv
│? ?├── 03.字符串比較.wmv
│? ?├── 04.字符串查找和拼接.wmv
│? ?├── 05.字符串截取和大小寫轉換.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 09.C基礎 – 字符串常見操作和指針練習.mht
│? ?? ? └── NDK_Day09.rar
├── 10.C基礎 – 結構體聯合體和枚舉
│? ?├── 01.字符串替換講解.wmv
│? ?├── 02.結構體和結構體指針.wmv
│? ?├── 03.結構體數組.wmv
│? ?├── 04.字節對其和結構體大小計算.wmv
│? ?├── 05.聯合體和枚舉.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 10.C基礎 – 結構體聯合體和枚舉.mht
│? ?? ? └── NDK_Day10.rar
├── 11.C基礎 – 文件操作
│? ?├── 01.讀取文本文件.wmv
│? ?├── 02.拷貝文件.wmv
│? ?├── 03.文件加解密和文件切割.wmv
│? ?└── 筆記和源碼
│? ?? ? └── NDK_Day11.rar
├── 12.JNI 基礎 – JNIEnv 的實現原理
│? ?├── 01.JNI開發的一般流程.wmv
│? ?├── 02.詳解 .h 頭文件和實現文件.wmv
│? ?├── 03.JNIEnv的實現原理.wmv
│? ?├── 04.C 訪問 Java 屬性.wmv
│? ?├── 05.C 訪問 Java 方法.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 12.JNI 基礎 – JNIEnv 的實現原理.mht
│? ?? ? ├── JNIEnv的原理和流程.png
│? ?? ? ├── NDK_Day12_Java.rar
│? ?? ? └── NDK_Day12_VS.rar
├── 13.JNI 基礎 – Native 層構建 Java 對象
│? ?├── 01.作業講解.wmv
│? ?├── 02.常量指針和指針常量.wmv
│? ?├── 03.Native 層構建 Java 對象.wmv
│? ?├── 04.設置屬性練習.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 13.JNI 基礎 – Native 層構建 Java 對象.mht
│? ?? ? ├── NDK_Day13_Java.rar
│? ?? ? └── NDK_Day13_VS.rar
├── 14.JNI 基礎 – Android 共享內存的序列化過程
│? ?├── 01.Java對象與C對象對應.wmv
│? ?├── 02.Parcel 源碼解析.wmv
│? ?├── 03.自己動手實現內存共享.wmv
│? ?├── 04.共享內存面試題講解.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 14.JNI 基礎 – Android 共享內存的序列化過程.mht
│? ?? ? ├── 1.png
│? ?? ? ├── NDK_Day14.rar
│? ?? ? └── 無標題.png
├── 15.JNI 基礎 – 緩存策略和異常處理
│? ?├── 01.數組的細節處理.wmv
│? ?├── 02.局部引用和全局引用.wmv
│? ?├── 03.靜態緩存策略.wmv
│? ?├── 04.jni的異常處理.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 15.JNI 基礎 – 緩存策略和異常處理.mht
│? ?? ? ├── NDK_Day15_Java.rar
│? ?? ? └── NDK_Day15_VS.rar
├── 16.C進階 – 內存四驅模型
│? ?├── 01.數組參數傳遞.wmv
│? ?├── 02.數據類型剖析.wmv
│? ?├── 03.變量的本質.wmv
│? ?├── 04.內存四驅模型.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 16.C進階 – 內存四驅模型.mht
│? ?? ? └── NDK_Day16.rar
├── 17.C進階 – 項目開發模型強化
│? ?├── 01.內存四驅模型.wmv
│? ?├── 02.通過指針間接賦值的意義.wmv
│? ?├── 03.野指針和 NULL 地址.wmv
│? ?├── 04.定義字符串的幾種區別.wmv
│? ?├── 05.項目開發模型強化.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 01.間接賦值.png
│? ?? ? ├── 02.通過指針間接賦值.png
│? ?? ? ├── 03.野指針.png
│? ?? ? ├── 04.字符串的不同之處.png
│? ?? ? ├── 17.C進階 – 項目開發模型強化.mht
│? ?? ? └── NDK_Day17.rar
├── 18.C進階 – 二級指針和多級指針
│? ?├── 01.指針使用的注意事項.wmv
│? ?├── 02.二級指針的內存模式.wmv
│? ?├── 03.多級指針.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 01.NULL地址的強化.png
│? ?? ? ├── 02.指針數組和二級指針.png
│? ?? ? ├── 03.二維數組的第三種定義方式.png
│? ?? ? └── 18.C進階 – 二級指針和多級指針.mht
├── 19.C進階 – 結構體中的高級話題
│? ?├── 01.結構體賦值操作.wmv
│? ?├── 02.深拷貝和淺拷貝.wmv
│? ?├── 03.結構體的偏移量強化.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 19.C進階 – 結構體中的高級話題.mht
│? ?? ? └── 結構體套指針.png
├── 20.C++基礎 – 引用和函數重載
│? ?├── 01.c 和 c++ 的區別.wmv
│? ?├── 02.常量.wmv
│? ?├── 03.引用和常量引用.wmv
│? ?├── 04.函數重載和默認參數.wmv
│? ?├── 05.類的初探.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 20.C++基礎 – 引用和函數重載.mht
│? ?? ? ├── NDK_Day20.rar
│? ?? ? └── 引用實例.png
├── 21.C++基礎 – 構造函數、析構函數和拷貝構造函數
│? ?├── 01.構造函數.wmv
│? ?├── 02.析構函數.wmv
│? ?├── 03.malloc、free、new、delete 區別.wmv
│? ?├── 04.拷貝構造函數和調用場景.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 01.指針賦值.png
│? ?? ? ├── 02.拷貝構造函數賦值.png
│? ?? ? ├── 21.C++基礎 – 構造函數、析構函數和拷貝構造函數.mht
│? ?? ? └── NDK_Day21.rar
├── 22.C++基礎 – 對象大小和友元類
│? ?├── 01.可變參數.wmv
│? ?├── 02.static 關鍵字.wmv
│? ?├── 03.const 修飾函數.wmv
│? ?├── 04.友元函數和類.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 21.C++基礎 – 對象大小和友元類.mht
│? ?? ? └── NDK_Day22.rar
├── 23.C++基礎 – 操作符重載和類的繼承
│? ?├── 01.加減運算符重載.wmv
│? ?├── 02.條件運算符和括號運算符重載.wmv
│? ?├── 03.類對象的繼承.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 23.C++基礎 – 操作符重載和類的繼承.mht
│? ?? ? └── NDK_Day23.rar
├── 24.C++基礎 – 虛繼承、虛函數和模板函數
│? ?├── 01.屬性初始化.wmv
│? ?├── 02.虛繼承.wmv
│? ?├── 03.C++中的多態.wmv
│? ?├── 04.抽象類和接口.wmv
│? ?├── 05.模板函數.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 24.C++基礎 – 虛繼承、虛函數和模板函數.mht
│? ?? ? └── NDK_Day24.rar
├── 25.C++基礎 – 實現 Native 層的 ArrayList
│? ?├── 01.編譯流程.wmv
│? ?├── 02.模板類.wmv
│? ?├── 03.ArrayList源碼分析.wmv
│? ?├── 04.實現Native層的ArrayList.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 25.C++基礎 – 實現 Native 層的 ArrayList.mht
│? ?? ? ├── NDK_Day25_AS.rar
│? ?? ? └── NDK_Day25_VS.rar
├── 26.C++基礎 – 異常處理和字符串操作
│? ?├── 01.類型轉換.wmv
│? ?├── 02.實現System.arrayCopy.wmv
│? ?├── 03.c++中的異常處理.wmv
│? ?├── 04.字符串操作.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 26.C++基礎 – 異常處理和字符串操作.mht
│? ?? ? ├── NDK_Day26_AS.rar
│? ?? ? └── NDK_Day26_VS.rar
├── 27.C++進階 – Const關鍵字增強和引用的本質剖析
│? ?├── 01.string字符串的常見操作.wmv
│? ?├── 02.const 關鍵增強字.wmv
│? ?├── 03.引用的加強.wmv
│? ?├── 04.NDK 異常處理增強.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── NDK_Day27_VS.rar
│? ?? ? └── c++中的常量.png
├── 28.C++進階 – STL 容器的基本介紹和使用
│? ?├── 01.vector和stack容器.wmv
│? ?├── 02.queue基本操作.wmv
│? ?├── 03.list增刪改查.wmv
│? ?├── 04.謂詞和函數對象.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 28.C++進階 – STL 容器的基本介紹和使用.mht
│? ?? ? └── NDK_Day28.rar
├── 29.C++進階 – STL 函數對象和謂詞
│? ?├── 01.map容器介紹和使用.wmv
│? ?├── 02.multimap容器介紹和使用.wmv
│? ?├── 03.容器對象拷貝構造函數.wmv
│? ?├── 04.一元謂詞和二元謂詞.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 29.C++進階 – STL 函數對象和謂詞.mht
│? ?? ? └── NDK_Day29_VS.rar
├── 30.C++進階 – STL算法設計理念分析
│? ?├── 01.預定義函數對象.wmv
│? ?├── 02.函數適配器.wmv
│? ?├── 03.STL算法設計理念分析.wmv
│? ?├── 04.源碼閱讀的經驗總結.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 30.C++進階 – STL算法設計理念分析.mht
│? ?? ? └── NDK_Day30_VS.rar
├── 31.Android智能識別 – 銀行卡區域裁剪
│? ?├── 01.銀行卡識別的思路分析.wmv
│? ?├── 02.bitmap和mat轉換.wmv
│? ?├── 03.截取銀行卡區域.wmv
│? ?└── 源碼和資源
│? ?? ? ├── 31.Android智能識別 – 銀行卡區域裁剪.mht
│? ?? ? └── NDK_Day31_AS.rar
├── 32.Android智能識別 – 銀行卡數字識別
│? ?├── 01.裁剪銀行卡區域.wmv
│? ?├── 02.過濾填充干擾區域.wmv
│? ?├── 03.分割獲取銀行卡數字.wmv
│? ?├── 04.字符串粘連處理.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 32.Android智能識別 – 銀行卡數字識別.mht
│? ?? ? └── NDK_Day31_AS.rar
├── 33.數據結構算法 – 數組與鏈表
│? ?├── 01.數據結構算法基本概念.wmv
│? ?├── 02.時間復雜度和空間復雜度.wmv
│? ?├── 03.數組與鏈表源碼分析.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 33. 數據結構算法 – 數組與鏈表.mht
│? ?? ? └── NDK_Day33_VS.rar
├── 34.數據結構算法 – 單鏈表與雙向鏈表
│? ?├── 01.單鏈表.wmv
│? ?├── 02.時間復雜度優化.wmv
│? ?├── 03.雙向鏈表.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 34. 數據結構算法 – 單鏈表與雙向鏈表.mht
│? ?? ? └── NDK_Day34_AS.rar
├── 35.數據結構算法 – 冒泡、選擇和插入排序
│? ?├── 01.上次作業講解.wmv
│? ?├── 02.冒泡排序.wmv
│? ?├── 03.方法宏定義.wmv
│? ?├── 04.時間復雜度求解.wmv
│? ?├── 05.選擇排序.wmv
│? ?├── 06.性能測試比較分析.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 35. 數據結構算法 – 冒泡、選擇和插入排序.mht
│? ?? ? ├── NDK_Day35_AS.rar
│? ?? ? └── 希爾排序.png
├── 36.數據結構算法 – 冒泡優化、插入和希爾排序
│? ?├── 01.ndk錯誤日志調試.wmv
│? ?├── 02.冒泡排序優化.wmv
│? ?├── 03.插入排序.wmv
│? ?├── 04.希爾排序.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 36. 數據結構算法 – 冒泡優化、插入和希爾排序.mht
│? ?? ? └── NDK_Day36_AS.rar
├── 37.數據結構算法 – 歸并排序和快速排序
│? ?├── 01.上次遺留問題解決.wmv
│? ?├── 02.穩定排序.wmv
│? ?├── 03.歸并排序.wmv
│? ?├── 04.歸并優化和時間復雜度求解.wmv
│? ?├── 05.快速排序.wmv
│? ?├── 06.快速排序優化.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── NDK_Day36_AS.rar
│? ?? ? ├── merge數組.png
│? ?? ? └── 歸并排序.png
├── 38.數據結構算法 – 遞歸和棧結構
│? ?├── 01.循環和遞歸.wmv
│? ?├── 02.漢諾塔問題.wmv
│? ?├── 03.數組實現棧.wmv
│? ?├── 04.鏈表實現棧.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 38. 數據結構算法 – 遞歸和棧結構.mht
│? ?? ? └── NDK_Day38_AS.rar
├── 39.數據結構算法 – 隊列和雙向隊列
│? ?├── 01.漢諾塔問題求解.wmv
│? ?├── 02.位運算.wmv
│? ?├── 03.數組實現隊列.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 39. 數據結構算法 – 隊列和雙向隊列.mht
│? ?? ? └── NDK_Day39_AS.rar
├── 40.數據結構算法 – HashMap 源碼分析和手寫實現
│? ?├── 01.HashMap源碼實現分析.wmv
│? ?├── 02.hashCode底層實現分析.wmv
│? ?├── 03.==、equals和hashCode.wmv
│? ?├── 04.手寫HashMap擴容.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 40. HashMap 源碼分析和手寫實現.mht
│? ?? ? └── NDK_Day40.rar
├── 41.數據結構算法 – 樹和二叉樹
│? ?├── 01.樹的定義和分類.wmv
│? ?├── 02.樹的存儲.wmv
│? ?├── 03.樹、森林與二叉樹之間互轉.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 41. 樹和二叉樹.mht
│? ?? ? ├── NDK_Day41.rar
│? ?? ? ├── 二叉樹轉樹.png
│? ?? ? ├── 樹轉二叉樹.png
│? ?? ? └── 森林轉二叉樹.png
├── 42.數據結構算法 – 二叉樹常見操作
│? ?├── 01.二叉樹的分類.wmv
│? ?├── 02.二叉樹的遍歷.wmv
│? ?├── 03.平衡二叉樹.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 42. 數據結構算法 – 二叉樹常用操作.mht
│? ?? ? ├── NDK_Day42.rar
│? ?? ? └── 二叉樹遍歷.png
├── 43.數據結構算法 – 優先級隊列和堆排序
│? ?├── 01.二叉樹序列化和反序列.wmv
│? ?├── 02.優先級隊列和堆排序.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 43. 數據結構算法 – 優先級隊列和堆排序.mht
│? ?? ? ├── NDK_Day34_AS.rar
│? ?? ? └── 二叉樹的序列化和反序列化.png
├── 44.數據結構算法 – 二叉搜索樹
│? ?├── 01.二叉搜索樹-新增.wmv
│? ?├── 02.二叉搜索樹-查找.wmv
│? ?├── 03.二叉搜索樹 – 刪除.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 44. 數據結構算法 – 二叉搜索樹.mht
│? ?? ? └── NDK_Day44.rar
├── 45.數據結構算法 – AVL 樹
│? ?├── 01.為什么要引入 AVL 樹.wmv
│? ?├── 02.AVL樹 – 旋轉調整.wmv
│? ?├── 03.AVL樹 – 插入調整.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── NDK_Day45.rar
│? ?? ? ├── 先右旋在左旋.png
│? ?? ? ├── 先左旋再右旋.png
│? ?? ? ├── 右旋.png
│? ?? ? └── 左旋.png
├── 46.數據結構算法 – AVL 樹的新增和移除
│? ?├── 01.新增操作.wmv
│? ?├── 02.刪除操作.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 46. 數據結構算法 – AVL 樹的新增和移除.mht
│? ?? ? └── NDK_Day46.rar
├── 47.數據結構算法 – 紅黑樹上篇
│? ?├── 01.紅黑樹和性質.wmv
│? ?├── 02.紅黑樹新增邏輯講解.wmv
│? ?├── 03.紅黑樹新增代碼實現.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── NDK_Day47.rar
│? ?? ? └── aaa.png
├── 48.數據結構算法 – 紅黑樹下篇
│? ?├── 01.紅黑樹和 AVL 樹的算法復雜度分析.wmv
│? ?├── 02.紅黑樹新增理解.wmv
│? ?├── 03.紅黑樹的刪除操作.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 48. 數據結構算法 – 紅黑樹下篇.mht
│? ?? ? └── NDK_Day48.rar
├── 49.數據結構算法 – 哈夫曼編碼
│? ?├── 01.定長編碼和變成編碼.wmv
│? ?├── 02.霍夫曼樹的構建過程.wmv
│? ?├── 03.代碼實現霍夫曼編碼和解碼.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 49. 數據結構算法 – 哈夫曼編碼.mht
│? ?? ? ├── NDK_Day48(修正版).rar
│? ?? ? └── NDK_Day49.rar
├── 50.數據結構算法 – 圖
│? ?├── 01.Java 多線程的內存模型.wmv
│? ?├── 02.synchronized 的底層實現原理.wmv
│? ?├── 03.圖的基礎定義.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 01.霍夫曼編碼.png
│? ?? ? ├── 02.多線操作HashMap.png
│? ?? ? ├── 03.synchronized底層實現原理.png
│? ?? ? ├── 04.無向邊存儲方式.png
│? ?? ? ├── 05.有向邊存儲方式.png
│? ?? ? └── 50. 數據結構算法 – 圖.mht
├── 51.數據結構算法 – 圖的最小生成樹和最短路徑
│? ?├── 01.鄰接表和十字鏈表.wmv
│? ?├── 02.圖的廣度和深度優先遍歷.wmv
│? ?├── 03.最小生成樹.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 51. 數據結構算法 – 圖的最小生成樹和最短路徑.mht
│? ?? ? ├── NDK_Day51.rar
│? ?? ? ├── 十字鏈表.png
│? ?? ? ├── 廣度優先遍歷.png
│? ?? ? └── 鄰接表.png
├── 52.LeetCode 刷題 – 數字篇
│? ?├── 01.迪杰斯特拉算法.wmv
│? ?├── 02.toSum.wmv
│? ?├── 03.string to integer.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 52. LeetCode 刷題 – 數字篇.mht
│? ?? ? └── NDK_Day52.rar
├── 53.LeetCode 刷題 – 位運算
│? ?├── 01.Reverse Integer.wmv
│? ?├── 02.位運算.wmv
│? ?├── 03.Power of Two.wmv
│? ?├── 04.Power of Three.wmv
│? ?├── 05.Number of 1 Bits.wmv
│? ?├── 06.Factorial Trailing Zeroes.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 53. LeetCode 刷題 – 位運算.mht
│? ?? ? └── 位運算.png
├── 54.LeetCode 刷題 – 樹
│? ?├── 01.Binary Tree Inorder Traversal.wmv
│? ?├── 02.Path Sum.wmv
│? ?├── 03.Maximum Depth of Binary Tree.wmv
│? ?└── 筆記和源碼
│? ?? ? └── 54. LeetCode 刷題 – 樹.mht
├── 55.LeetCode 刷題 – 常用算法思想
│? ?├── 01.貪心算法思想 .wmv
│? ?├── 02.回溯算法思想.wmv
│? ?├── 03.動態規劃算法思想.wmv
│? ?└── 筆記和源碼
│? ?? ? └── 55. LeetCode 刷題 – 常用算法思想.mht
├── 56.OpenCV – 安裝和簡介
│? ?├── 01.OpenCV 安裝.wmv
│? ?├── 02.操作指針轉灰度圖.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 56. OpenCV – 安裝和簡介.mht
│? ?? ? ├── NDK_Day56.rar
│? ?? ? └── opencv需要的dll文件
│? ?? ?? ???├── concrt140d.dll
│? ?? ?? ???├── msvcp140d.dll
│? ?? ?? ???├── opencv_ffmpeg310_64.dll
│? ?? ?? ???├── opencv_world340d.dll
│? ?? ?? ???├── opencv_world340.dll
│? ?? ?? ???└── ucrtbased.dll
├── 57.OpenCV – Android 濾鏡效果處理
│? ?├── 01.ColorMatrix 矩陣運算.wmv
│? ?├── 02.Java Bitmap 獲取像素操作.wmv
│? ?├── 03.Native 層操作像素指針.wmv
│? ?├── 04.ARGB_8888 和 RGB_565.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 57. OpenCV – Android 濾鏡效果處理.mht
│? ?? ? └── NDK_Day57.rar
├── 58.OpenCV – Mat 對象與圖像混合
│? ?├── 01.細講 Mat 對象.wmv
│? ?├── 02.像素獲取和修改.wmv
│? ?├── 03.圖像混合.wmv
│? ?├── 04.飽和度、亮度和對比度.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 58. OpenCV – Mat 對象與圖像混合.mht
│? ?? ? └── NDK_Day58_VS.rar
├── 59.OpenCV – 圖像的繪制與卷積操作
│? ?├── 01.inline 內聯函數.wmv
│? ?├── 02.繪制形狀和文字.wmv
│? ?├── 03.圖像的卷積操作.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 59. OpenCV – 圖像的繪制與模糊.mht
│? ?? ? ├── NDK_Day59_VS.rar
│? ?? ? └── 卷積操作.png
├── 60.Android 性能優化實戰 – 界面卡頓
│? ?├── 01.APP項目介紹.wmv
│? ?├── 02.Android Device Monitor 介紹.wmv
│? ?├── 03.高斯模糊和均值模糊.wmv
│? ?├── 04.Glide源碼分析.wmv
│? ?├── 05.LruCache的正確使用姿勢.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 60. Android 性能優化實戰 – 界面卡頓.mht
│? ?? ? ├── NDK_Day60_VS.rar
│? ?? ? └── 高斯模糊和均值模糊.png
├── 61.Android 性能優化實戰 – Bitmap 全面解析
│? ?├── 01.Bitmap 到底占多大的內存.wmv
│? ?├── 02.Bitmap 的內存開辟.wmv
│? ?├── 03.Bitmap 的內存銷毀和復用.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 61. Android 性能優化實戰 – Bitmap 全面解析.mht
│? ?? ? ├── Native層解析 Bitmap 的流程.png
│? ?? ? └── dp、dip、dpi、px .png
├── 62.OpenCV – 實現圖片的美容效果
│? ?├── 01.Bitmap 的內存優化與適配.wmv
│? ?├── 02.線上 OOM 內存 dump 搜集.wmv
│? ?├── 03.實現圖片的美容效果.wmv
│? ?├── 04.腐蝕與膨脹.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 62. OpenCV – 實現圖片的美容效果.mht
│? ?? ? └── NDK_Day62.rar
├── 63.OpenCV – 驗證碼自動識別
│? ?├── 01.形態學操作.wmv
│? ?├── 02.過濾驗證碼的干擾.wmv
│? ?├── 03.上采樣與降采樣.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 63. OpenCV – 驗證碼自動識別.mht
│? ?? ? └── NDK_Day63_VS.rar
├── 64.OpenCV – 自定義線性濾波
│? ?├── 01.處理邊緣類型.wmv
│? ?├── 02.自定義線性濾波.wmv
│? ?├── 03.圖像二值化.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 64. OpenCV – 自定義線性濾波.mht
│? ?? ? ├── NDK_Day64_VS.rar
│? ?? ? ├── 卷積操作.png
│? ?? ? └── 自定義算子.png
├── 65.OpenCV – 圖像邊緣檢測
│? ?├── 01.Sobel 算子.wmv
│? ?├── 02.Laplance 算子.wmv
│? ?├── 03.Canny 邊緣檢測.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 65. OpenCV – 圖像邊緣檢測.mht
│? ?? ? ├── NDK_Day65_VS.rar
│? ?? ? ├── sobel 合并.png
│? ?? ? └── 微積分求導.png
├── 66.OpenCV – 霍夫檢測與重映射
│? ?├── 01.霍夫直線檢測.wmv
│? ?├── 02.霍夫圓檢測.wmv
│? ?├── 03.重映射.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 66. OpenCV – 霍夫檢測與重映射.mht
│? ?? ? ├── NDK_Day66_VS.rar
│? ?? ? ├── 霍夫圓檢測.png
│? ?? ? └── 霍夫直線檢測.png
├── 67.OpenCV – 色彩空間與直方圖
│? ?├── 01. RGB 與 HSV.wmv
│? ?├── 02.直方圖均衡化.wmv
│? ?├── 03.直方圖計算繪制.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 1_01.jpg
│? ?? ? ├── 1_02.jpg
│? ?? ? ├── 1_03.jpg
│? ?? ? ├── 2_01.jpg
│? ?? ? ├── 2_02.png
│? ?? ? ├── 2_03.jpg
│? ?? ? ├── 2_04.png
│? ?? ? ├── 2_05.jpg
│? ?? ? └── NDK_Day67_VS.rar
├── 68.OpenCV – 直方圖比較和匹配
│? ?├── 01. 直方圖比較.wmv
│? ?├── 02.直方圖的反向投射和模板匹配.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 68. OpenCV – 直方圖比較和匹配.mht
│? ?? ? └── NDK_Day68_VS.rar
├── 69.OpenCV – 輪廓查找與圖像分水嶺
│? ?├── 01.銀行卡輪廓查找與繪制.wmv
│? ?├── 02.圖形矩和圖像分水嶺切割.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 69. OpenCV – 輪廓查找與圖像分水嶺.mht
│? ?? ? └── NDK_Day69_VS.rar
├── 70.OpenCV – 手寫 QQ 說說圖片效果
│? ?├── 01.Bitmap 的解封裝與編解碼 .wmv
│? ?├── 02. 鏡像和逆世界效果.wmv
│? ?├── 03.浮雕和馬賽克效果.wmv
│? ?├── 04.毛玻璃效果.wmv
│? ?├── 05.油畫效果和速度油畫.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 70. OpenCV – 手寫 QQ 說說圖片效果.mht
│? ?? ? ├── NDK_Day70_AS.rar
│? ?? ? ├── 圖形圖像處理.png
│? ?? ? ├── 圖片 Bitmap 的解壓縮和編解碼.png
│? ?? ? └── 逆世界.png
├── 71.OpenCV – 圖片的幾何變換
│? ?├── 01.圖片旋轉.wmv
│? ?├── 02.矩陣仿射變換.wmv
│? ?├── 03.reSize() 圖片縮放.wmv
│? ?├── 04.remap 重映射??.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 71. OpenCV – 圖片的幾何變換.mht
│? ?? ? └── NDK_Day71_AS.rar
├── 72.OpenCv – 封裝?java?層 sdk 模型
│? ?├── 01.蘇寧體育面試題講解.wmv
│? ?├── 02.NDK 學到什么程度,該怎么學?.wmv
│? ?├── 03.如何封裝 java 層 sdk 模型.wmv
│? ?├── 04.動手封裝 Opencv 的 Mat.java 對象.wmv
│? ?├── 05.Java 和 C++ 的回收機制.wmv
│? ?└── 源碼和筆記
│? ?? ? ├── 72. NDK 開發實戰 – 封裝 java 層 sdk 模型.mht
│? ?? ? └── NDK_Day72_AS.rar
├── 73.OpenCV – 手寫直方圖和直方均衡
│? ?├── 01.知識回顧.wmv
│? ?├── 02.手寫實現直方圖計算.wmv
│? ?├── 03.手寫實現歸一化.wmv
│? ?├── 04.手寫實現直方均衡.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 73. OpenCV – 手寫直方圖和直方均衡.mht
│? ?? ? └── NDK_Day73_VS.rar
├── 74.NDK開發實戰 – 實現人臉的美容效果(上)
│? ?├── 01.卷積模糊算法復雜度分析.wmv
│? ?├── 02.積分圖算法介紹.wmv
│? ?├── 03.卷積模糊算法優化.wmv
│? ?├── 04.快速邊緣保留算法.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 01.積分圖計算.png
│? ?? ? ├── 02.快速邊緣保留算法.png
│? ?? ? ├── 03.局部方差公式推導.png
│? ?? ? └── NDK_Day74_VS.rar
├── 75.NDK開發實戰 – 實現人臉的美容效果(下)
│? ?├── 01.皮膚區域檢測.wmv
│? ?├── 02.皮膚區域融合.wmv
│? ?├── 03.邊緣加強與模糊疊加.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 75. OpenCV – 實現人臉的美容效果(下).mht
│? ?? ? └── NDK_Day75_VS.rar
├── 76.NDK開發實戰 – 微信公眾號二維碼檢測與識別
│? ?├── 01.實現思路剖析.wmv
│? ?├── 02.算法流程分析.wmv
│? ?├── 03.手寫實現.wmv
│? ?├── 04.如何優化.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 76. NDK開發實戰 – 微信公眾號二維碼檢測與識別.mht
│? ?? ? └── NDK_Day76_VS.rar
├── 77.人臉識別 – HOG 和 LBP 特征檢測
│? ?├── 01. HOG 特征檢測的實現原理.wmv
│? ?├── 02. 行人檢測.wmv
│? ?├── 03.手寫 LBP 特征算法.wmv
│? ?├── 04.haar 特征介紹.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 77. 人臉識別 – HOG 和 LBP 特征檢測.mht
│? ?? ? ├── Haar特征.png
│? ?? ? ├── NDK_Day77_AS.rar
│? ?? ? ├── hog特征.png
│? ?? ? ├── lbp.特征.png
│? ?? ? ├── lbp表達.png
│? ?? ? ├── peoples.png
│? ?? ? ├── 分網格的梯度方向直方圖.png
│? ?? ? └── 塊描述子.png
├── 78.人臉識別 – 實時人臉檢測
│? ?├── 01.相機實時檢測人臉.wmv
│? ?├── 02.均值,方差與協方差.wmv
│? ?├── 03.特征值與特征向量.wmv
│? ?├── 04.PCA的降維原理與應用.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 78. 人臉識別 – 級聯分類器.mht
│? ?? ? ├── NDK_Day78_AS.rar
│? ?? ? └── NDK_Day78_VS.rar
├── 79.NDK開發實戰 – 實時人臉檢測和識別
│? ?├── 01.樣本訓練.wmv
│? ?├── 02.實時識別人臉.wmv
│? ?├── 03.后續的安排.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 79. NDK開發實戰 – 實時人臉檢測和識別.mht
│? ?? ? ├── NDK_Day78_AS.rar
│? ?? ? ├── OpenCV-android-sdk.rar
│? ?? ? ├── orl_faces.rar
│? ?? ? ├── 實時人臉檢測.gif
│? ?? ? └── 實時人臉識別.gif
├── 80.音視頻技術學習 – 啟動篇
│? ?├── 01.音視頻基礎知識.wmv
│? ?├── 02.視頻播放的流程.wmv
│? ?├── 03.音視頻編解碼.wmv
│? ?├── 04.FFmpeg介紹.wmv
│? ?└── 筆記和資料
│? ?? ? ├── 80. 音視頻技術學習 – 啟動篇.mht
│? ?? ? ├── 視音頻分析工具.rar
│? ?? ? └── 視音頻播放流程.png
├── 81.linux 系統編程 – 命令基礎,軟件卸載與安裝
│? ?├── 01.linux常用快鍵鍵.wmv
│? ?├── 02.文件和文件夾操作.wmv
│? ?├── 03.用戶與用戶組.wmv
│? ?├── 04.搜索與查找.wmv
│? ?├── 05.軟件安裝流程.wmv
│? ?├── 06.壓縮與解壓縮.wmv
│? ?└── 筆記與資料
│? ?? ? ├── 81. linux 系統編程 – 命令基礎,軟件卸載與安裝.mht
│? ?? ? ├── Xftp5.exe
│? ?? ? └── Xshell5.exe
├── 82.linux 系統編程 – 應用編譯運行的工作過程
│? ?├── 01.vim的三種工作模式.wmv
│? ?├── 02.vim常用命令.wmv
│? ?├── 03.gcc編譯四個步驟.wmv
│? ?├── 04.動態庫與靜態庫.wmv
│? ?├── 05.虛擬內存.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 82. linux 系統編程 – 應用編譯運行的工作過程.mht
│? ?? ? ├── vim三種工作模式.png
│? ?? ? ├── 動態庫.png
│? ?? ? └── 虛擬內存布局圖.png
├── 83.linux 內核編程 – 文件IO與文件描述符
│? ?├── 01.系統調用.wmv
│? ?├── 02.文件描述符表.wmv
│? ?├── 03.stat與 lstat.wmv
│? ?├── 04.目錄操作.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 83. linux 內核編程 – 文件IO與文件描述符.mht
│? ?? ? ├── dir_operate.cpp
│? ?? ? ├── 文件描述符.png
│? ?? ? ├── 系統函數與普通函數.png
│? ?? ? └── 系統調用.png
├── 84.linux 內核編程 – 進程創建與進程管理
│? ?├── 01. pcb 進程控制塊.wmv
│? ?├── 02.內存映射.wmv
│? ?├── 03. fork 創建子進程.wmv
│? ?├── 04.父子進程共享.wmv
│? ?├── 05.回收進程.wmv
│? ?├── 06.監聽 APP 應用被卸載.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 84. linux 內核編程 –??進程創建與進程管理.mht
│? ?? ? ├── fork函數.png
│? ?? ? └── 內存映射.png
├── 85.linux 內核編程 – IPC 進程間通信
│? ?├── 01.進程間通信的本質.wmv
│? ?├── 02.管道.wmv
│? ?├── 03.信號通信的原理.wmv
│? ?├── 04.共享映射區通信.wmv
│? ?├── 05.mmap的實現原理.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 85. linux 內核編程 – IPC 進程間通信.mht
│? ?? ? ├── mmap_ipc_1.cpp
│? ?? ? ├── mmap_ipc_2.cpp
│? ?? ? ├── mmap的實現原理.png
│? ?? ? ├── 管道.png
│? ?? ? ├── 管道的通信機制.png
│? ?? ? └── 進程間通信.png
├── 86.linux 內核編程 –??線程與多線程同步
│? ?├── 01.線程的創建與銷毀.wmv
│? ?├── 02.回收線程.wmv
│? ?├── 03.分離線程.wmv
│? ?├── 04.生產者與消費者.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 86. linux 內核編程 –??線程與多線程同步.mht
│? ?? ? ├── binder驅動.png
│? ?? ? ├── thread1.cpp
│? ?? ? └── thread_comm.cpp
├── 87.CMake 語法 – 自動編譯和鏈接
│? ?├── 01.Makefile、CMake 與 Shell 之間的聯系.wmv
│? ?├── 02.Makefile 的一個規則.wmv
│? ?├── 03.Makefile 的兩個函數.wmv
│? ?├── 04.Makefile 的三個自動變量.wmv
│? ?├── 05.Cmake 的安裝與簡介.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 87. CMake 語法 – 自動編譯和鏈接.mht
│? ?? ? ├── GNU_makefile中文手冊.pdf
│? ?? ? ├── Xftp5.exe
│? ?? ? ├── cmake 實戰.pdf
│? ?? ? ├── cmake-3.14.3.tar.gz
│? ?? ? ├── m1
│? ?? ? │? ?├── Makefile
│? ?? ? │? ?├── add.cpp
│? ?? ? │? ?├── div.cpp
│? ?? ? │? ?├── hello.cpp
│? ?? ? │? ?└── mul.cpp
│? ?? ? ├── m2
│? ?? ? │? ?├── Makefile
│? ?? ? │? ?└── sub.cpp
│? ?? ? └── m3
│? ?? ?? ???├── Makefile
│? ?? ?? ???└── hello.cpp
├── 88.CMake 語法 – 詳解 CMakeLists.txt
│? ?├── 01.CMake 安裝問題補充 .wmv
│? ?├── 02.構建生成 .so 動態庫.wmv
│? ?├── 03.鏈接外部動態庫與頭文件.wmv
│? ?├── 04.編寫基于 FFmpeg 開發的 CmakeLists.wmv
│? ?└── 筆記與源碼
│? ?? ? └── 88. CMake 語法 – 詳解 CMakeLists.mht
├── 89.Shell 腳本 – 詳解基礎語法
│? ?├── 01.自定義變量與環境變量.wmv
│? ?├── 02.位置參數變量與預定義變量.wmv
│? ?├── 03.條件判斷.wmv
│? ?├── 04.流程控制語句.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 01.sh
│? ?? ? ├── 02.sh
│? ?? ? ├── 03.sh
│? ?? ? ├── 04.sh
│? ?? ? ├── 05.sh
│? ?? ? ├── 06.sh
│? ?? ? ├── 07.sh
│? ?? ? ├── 89. Shell 腳本 – 詳解基礎語法.mht
│? ?? ? └── Linux命令行與shell腳本編程大全.第3版.pdf
├── 90.Shell 腳本 – 自己動手編譯 FFmpeg
│? ?├── 01.CMake 交叉編譯 Android 動態庫.wmv
│? ?├── 02.配置 NDK 環境.wmv
│? ?├── 03.手寫 FFmpeg 編譯腳本.wmv
│? ?├── 04.編譯參數傳遞詳解.wmv
│? ?├── 05.運行調試視音頻解碼.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── configure_help.txt
│? ?? ? ├── ffmpeg-3.3.9.tar.gz
│? ?? ? └── ffmpeg_build.sh
├── 91.FFmpeg – 打造一款萬能的音樂播放器
│? ?├── 01.效果演示.wmv
│? ?├── 02.獲取 Meta 信息.wmv
│? ?├── 03.解碼音頻數據.wmv
│? ?├── 04.AudioTack??播放音頻的原理.wmv
│? ?├── 05.播放pcm數據.wmv
│? ?├── 06.內存上漲問題分析.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 91. FFmpeg – 打造一款萬能的音樂播放器.mht
│? ?? ? ├── MusicPlayer.rar
│? ?? ? └── NDK_Day03.rar
├── 92.FFmpeg – 多線程解碼播放
│? ?├── 01.內存上漲問題分析解決.wmv
│? ?├── 02.音頻重采樣.wmv
│? ?├── 03.添加錯誤回調到 Java.wmv
│? ?├── 04.多線程解碼播放.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 92. FFmpeg – 多線程解碼播放.mht
│? ?? ? └── MusicPlayer.rar
├── 93. FFmpeg – OpenSLES 播放音頻數據
│? ?├── 01.JNIEnv 子線程回調 Java 問題.wmv
│? ?├── 02.OpenSLES 播放音頻原理分析.wmv
│? ?├── 03.OpenSLES 播放音頻數據.wmv
│? ?├── 04.抽取準備方法.wmv
│? ?├── 05.整理代碼架構.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 93. FFmpeg – OpenSLES 播放音頻數據.mht
│? ?? ? ├── MusicPlayer.rar
│? ?? ? └── OpenSLES_Study.rar
├── 94. FFmpeg – 線程隊列邊解碼邊播放
│? ?├── 01.編譯錯誤解決.wmv
│? ?├── 02.添加準備完畢回調.wmv
│? ?├── 03.用隊列邊解碼邊播放.wmv
│? ?├── 04.再次整理代碼架構.wmv
│? ?├── 05.所有功能代碼走讀.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 94. FFmpeg – 線程隊列邊解碼邊播放.mht
│? ?? ? └── MusicPlayer.rar
├── 95.FFmpeg – Android 視頻播放器
│? ?├── 01. 整合音樂播放器項目.wmv
│? ?├── 02.OpenGLES 渲染視頻.wmv
│? ?├── 03.界面的渲染流程.wmv
│? ?├── 04.SurfaceView 渲染視頻.wmv
│? ?├── 05.下節課的安排.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 95. FFmpeg – Android 視頻播放器.mht
│? ?? ? ├── NDK_Day03.rar
│? ?? ? ├── VideoPlayer.rar
│? ?? ? └── 頁面渲染流程.png
├── 96.FFmpeg – 音視頻同步
│? ?├── 01.調整音樂播放器項目架構.wmv
│? ?├── 02.模板模式整合視頻解碼.wmv
│? ?├── 03.視音頻同步的思想.wmv
│? ?├── 04.實現視音頻同步.wmv
│? ?└── 筆記與源碼
│? ?? ? ├── 96. FFmpeg – 音視頻同步.mht
│? ?? ? ├── VideoPlayer.rar
│? ?? ? └── 視音頻同步.png
├── 97.FFmpeg – Android 直播推拉流
│? ?├── 01.自己動手搭建流媒體服務器.wmv
│? ?├── 02.配置流媒體環境.wmv
│? ?├── 03.集成 RTMP 推流源碼.wmv
│? ?├── 04.初始化 RTMP 推流.wmv
│? ?├── 05.回調 Java 層監聽初始化狀態.wmv
│? ?└── 筆記和源碼
│? ?? ? ├── 97. FFmpeg – Android 直播推拉流.mht
│? ?? ? ├── LivePush.rar
│? ?? ? ├── OpenGLES.rar
│? ?? ? ├── ffmpeg-20190706-feade2b-win64-static.rar
│? ?? ? └── rtmpdump.rar