編程必備基礎-音視頻小白系統入門課完整無密 【點擊下載】

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 Mac

inux環境變量的含義與設置

第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知識

相關文章