編程必備基礎-音視頻小白系統入門課
編程必備基礎-音視頻小白系統入門課完整無密 【點擊下載】
5G 的商用,使高效高清的直播和視頻成爲剛需,短視頻、娛樂直播等都與音視頻聯繫緊密,各大互聯網公司都在儲備音視頻方向的開發者。但是,網絡上關於音視頻的學習資料非常少,且幾乎沒有系統講解音視頻的入門課程。於是這門課應運而生。它系統講解音視頻基礎原理,並實戰如何從0構建一套可商用的娛樂直播系統。無論你從事哪個方向的開發工作,只要對音視頻感興趣,這門課程便能滿足你的需求。
適合人羣
對音視頻感興趣的同學
想轉行音視頻領域的開發者
技術儲備要求
對Linux有一定了解
至少掌握一門開發語言基礎
章節目錄:
第1章 課程導學與準備工作
本章主要介紹爲何要帶大家學習一個音視頻初級入門課程,本課程中不僅系統的講解了音視頻到底是如何工作的,還會將音視頻原理與實戰相結合,講解學習階梯和實現思路,之後會爲大家介紹本課程內容具體安排,最後給出如何學好這門課程的一些學習建議。希望大家都能通過這門課程,學有所成,學有所歸。...
1-1 課前必讀(不看會錯過一個億)
1-2 課程介紹及學習指導 試看
第2章 音視頻環境基礎
本章會講解學習音視頻課程之前必要的基礎知識,如Linux常見命令以及環境變量的設置等。在之前的課程中,有很多同學提出的問題都是Linux的基礎知識問題,尤其是在Windows下工作的同學,因此這部分知識對於 Windows 同學來說至關重要。...
2-1 音視頻應用的場景
2-2 推流中斷與畫質不精晰的解決辦法 試看
2-3 Linux基礎知識-1
2-4 Linux基礎知識-2
2-5 鞏固Linux基本命令(熟練可跳過)
2-6 鞏固vim的簡單使用(熟練可跳過) 試看
2-7 Macinux環境變量的含義與設置
第3章 在不同的系統上編譯 ffmpeg
本章會講解在不同操作系統下如何編譯安裝ffmpeg,重點是講解 Windows下編譯 ffmpeg的方法等。實際上,在Windows上編譯 ffmpeg 一直是一個難點,有很多同學都卡在這個問題上,因此通過本章節的內容就可以輕鬆解決你的問題。
3-1 Mac或Linux下編譯安裝ffmpeg
3-2 Windows下編譯ffmpeg的幾種方式
3-3 Cygwin環境的搭建
3-4 Cygwin下安裝ffmpeg
3-5 msys2環境的搭建
3-6 msys2+mingw編譯ffmpeg
3-7 msys2+vs編譯ffmpeg
第4章 C語言回顧
本章會帶領大家回顧C語言必要的基礎知識,重點講解C語言中的指針等難點內容,幫助大家爲後續學習開發做好準備。
4-1 C語言的HelloWorld
4-2 C語言中的基本類型和邏輯運算
4-3 C語言中的高級類型:數組、結構體和枚舉類型
4-4 C語言中的指針
4-5 C語言中指針的使用
4-6 內存管理與分配
4-7 條件判斷與循環
4-8 C語言中的函數
4-9 C語言如何操作文件
第5章 音頻基礎知識
本章將帶大家學習音頻的基本原理(如聲音是如何產生的,模擬信號是如何轉爲數字信號、音頻的三要素等信息)。這些信息的掌握,對大家今後處理音頻相關的問題時有切實的幫助,如當你播放PCM數據時聲音不對,那一定是採樣率、採樣大小或通道數沒有設置正確的原因。...
5-1 音視頻處理流程
5-2 聲音是如何被聽到的
5-3 聲音的三要素
5-4 模數轉換
5-5 PCM與WAV
第6章 【實戰】音頻採集
本章向你介紹瞭如何通過ffmpeg API進行音視頻數據採集。在講解過程中,將手把手的帶着你編寫每一行代碼,並對每個用到的 API 參數做了詳細介紹。在本章的最後,你還將看到如何將採集到的音頻數據錄製成文件。相信這對有錄製要求的同學也會有很大幫助。...
6-1 通過命令方式採集音頻數據
6-2 swift語法一
6-3 swift語法二
6-4 創建Mac App
6-5 創建 Button
6-6 swift調用C語言
6-7 Mac App中引入ffmpeg庫
6-8 打開音頻設備
6-9 從音頻設備中讀取音頻數據
6-10 代碼優化
6-11 錄製音頻數據
6-12 通過界面來控制開啓或關閉錄製
第7章 音頻編碼原理
本章向你介紹多種音頻編碼器(如 AAC, OPUS, speex等),並對各種不同的編碼器進行比較,並在衆多的編碼器中重點向你介紹了 AAC 編碼的以及它的不同級別的特性,同時還向你介紹了 AAC 數據頭(ADTS) 的詳細格式。
7-1 音頻有損壓縮技術
7-2 音頻無損壓縮技術
7-3 幾種常見編解碼器的比較
7-4 AAC編碼器介紹
7-5 ADTS格式
7-6 通過ffmpeg生成AAC數據
第8章 【實戰】音頻編碼
本章以AAC編碼爲例,向你詳細介紹瞭如何對PCM數據進行重採樣以達到AAC 編碼的要求,然後講解了如何通過ffmpeg獲取AAC編碼器,如何設置編碼參數,並最終實現編碼的過程。在本章的最後,還將向你詳細的介紹如何對代碼進行優化以達到更好的編碼風格。...
8-1 什麼是音頻重採樣
8-2 實戰音頻重採樣1
8-3 實戰音頻重採樣2
8-4 創建AAC編碼器1
8-5 創建AAC編碼器2
8-6 編碼使用的輸入輸出數據
8-7 AAC編碼器編碼1
8-8 AAC編碼器編碼2
8-9 代碼優化1
8-10 代碼優化2
8-11 代碼優化3
第9章 視頻基礎知識
本章將講解視頻的基礎知識(像素、RGB、分辨率等)、視頻幀(圖像)與顯示器之間的關係。重點講解YUV數據格式(如YUV4:4:4、YUV4:2:2、YUV4:2:0等),並讓你掌握 YUV 與RGB 之間的轉換以及視頻未編碼碼流該如何計算。
9-1 圖像的基本概念
9-2 屏幕顯示器
9-3 碼流的計算
9-4 圖像的顯示
9-5 什麼是YUV
9-6 YUV的常見格式
9-7 YUV的存儲格式
9-8 YUV實戰
9-9 實戰從視頻設備上採集數據1
9-10 實戰從視頻設備上採集數據2
第10章 H264編碼原理
本章將介紹H264 的編碼原理,這部分是本門課中最關鍵的知識點,通過本章的內容你不僅可以知道H264是如何對視頻進行編碼的,還可以瞭解H264的數據結構。通過這些知識的學習,你就可以解決很多常見的視頻疑難問題,例如爲什麼播放器可以知道視頻的分辨率,爲什麼視頻會出現花屏,爲什麼會出現卡頓等等。...
10-1 H264壓縮碼率與GOP
10-2 H264中的I幀P幀和B幀
10-3 H264中的宏塊
10-4 幀內壓縮技術
10-5 幀間壓縮技術
10-6 H264無損壓縮及編解碼處理流程
10-7 H264碼流結構
第11章 【實戰】視頻編碼/解碼
本章將重點介紹如何對採集到的視頻數據進行H264編碼。同理,只要你學會了如何進行 H264編碼,就會知道 H265/VP8/VP9如何進行編碼。除此之外,你還將瞭解一些H264的重要編碼參數,在不同的應用場景中掌握該用怎樣的參數,這在我們實際工作中是至關重要的。...
11-1 H264中的profile和level
11-2 H264SPS中的重要參數
11-3 H264PPS與Slice-Header
11-4 H264分析工具1
11-5 H264分析工具2
11-6 實戰打開視頻編碼器1
11-7 實戰打開視頻編碼器2
11-8 實戰準備要編碼的數據
11-9 實戰NV12轉YUV420P
11-10 實戰H264編碼1
11-11 實戰H264編碼2
11-12 x264參數詳解
第12章 【實戰】RTMP傳輸
在本章中你將首先詳細瞭解 RTMP/FLV協議,然後利用librtmp 開源庫將之前編碼好的音頻數據(AAC)與 編碼好的視頻數據(H264)生成 RTMP 流並推送到 CDN 流媒體服務器上,從而實現真正的娛樂直播。
12-1 RTMP連接的建立
12-2 創建RTMP流
12-3 RTMP消息
12-4 RTMP抓包分析
12-5 FLV協議
12-6 FLV協議分析器
12-7 推流程序的骨架
12-8 打開FLV文件
12-9 連接RTMP流媒體服務器
12-10 向流媒體服務器推流
12-11 從FLV文件中讀取tag數據1
12-12 從FLV文件中讀取tag數據2
12-13 調試與優化
第13章 【實戰】CDN 實現商業娛樂直播
在本章中我們將按照由淺入難的順序,即先介紹nginx實現流媒體服務器,然後講解 SRS 實現流媒體服器,最後講解在真正的商用產品中是如何通過 CDN雲服務來實現大併發,通過本章的學習,你開發的產品將從 Demo 升級爲真正可用的產品。...
13-1 泛娛樂化直播系統架構介紹
13-2 本機搭建RTMP服務
13-3 SRS流媒體服務器簡介
13-4 SRS單機佈署
13-5 RTMP中的URL與VHOST
13-6 SRS實現集羣佈署
13-7 CDN網絡
13-8 阿里雲視頻直播
13-9 真實的直播架構是怎樣的
第14章 課程總結
本章將帶大家回顧總結課程重點難點,在課程問答區李超老師等着與你進一步交流,有問題歡迎大家到課程問答區提問。
14-1 課程總結
本課程已完結
雲盤鏈接下載
歡迎關注我們的微信公衆號,每天學習Go知識