30-30之寫給想入門影音直播開發的 Junior 工程師攻略本

前言

這辛苦的三十天總於結束了,當初原本只是想要理解直播相關協議的東西一下,但是卻發現越來越多奇怪的名詞跑了出來,就算大概的知道 HLS 是要做什麼,但你總是會覺得前後知識好像缺了什麼,別人問你一下沒有 HLS 前是如何處理直播傳輸你大概就會倒了,然後上網查查相關知識,但卻發現總是沒有連貫起來的知識,越看越冒出更多的名詞,這對一名想入門影音直播開發的初學者,真的非常的辛苦。

因此最後就想說當個好人將這方面的知識都整理成一條線好了,因此就產生了這三十篇的文章。

這三十天的文章基本上理解完後,要開發出一個直播應用事實上就不是太難的事情了,而且你有了這三十篇的知識你接下來要將直播應用開發的更好,你就也更有本錢去學習更進階的東西囉。

接下來這篇文章就來總結一下這三十天咱們學習了那些東西。

影音直播開發的 Junior 工程師攻略本

基本上前二十篇是最基礎的東西,這幾篇文章就在說明,如何將一個人的聲音或影像傳遞給對方。。

!

聲音與影像的採集、編碼與封裝

首先這五篇文章我們學習了聲音與影像是如何的儲放在電腦裡面,並且因為原始的聲音與影像太大,所以我們需要使用編碼來進行壓縮,最後就準備需要將聲音與影像進行封裝,為了可以讓別人一打開來知道要如何處理這一段聲音或影像編碼。

接下來的兩篇文章,咱們就使用 WebRTC 的一些東西,來實作如何的採集聲音與影像,並且最後將它封裝成一個檔案。

聲音與影像的傳輸

咱們已經可以將聲音與影像封裝後,就可以開始傳輸給遠方的某個人。

我們一開始先探討讓對方收到聲音與影像的方法有那些。

接下來花了幾篇文章來理解網路傳輸協議。

在理解完上面幾篇文章以後,我們應該是可以將聲音與影像傳輸給遠方的某個人。

聲音與影像的拆封

某個人透過網路傳輸協議收到了這一段聲音與影像以後,我們接下來就是要將聲音與影像直出,事實上它的過程就是與上面的採集、編碼、封裝相反的過程。

直播與點直的實作

基本概念學習完後,接下來就來進行一些實際上的實作。

下面幾篇文章中,我們簡單的實作了直播與點播的功能,並且探討了最簡單版本的問題,並且在使用 CDN 加以的改善,事實上到了這裡,大部份就是一般直播與點播平台的雛形。

進階

最後的幾篇文章,就來探討一些更進階的東西,那就是連麥直播互動,這個應用幾乎算是影音直播開發的一到高牆,沒有上面幾篇基礎文章的觀念,那是非常難完成的。

這裡順到說一下 WebRTC 並不一定是連麥直播的最佳解,但是它裡面所使用的概念,我覺得可以幫助我們導到最佳解,因此這裡才將它拿出來探討。

最後希望這一系列的文章,可以幫助到想學習影音直播開發的工程師們,節省更多的時間。

結束拉 !!!

comments powered by Disqus