音影片已強勢崛起,我們該如何快速入門音影片技術?
- 2020 年 4 月 9 日
- 筆記
作者: 李超 曾在 跟誰學 負責直播平台技術的管理工作;在 新東方集團 任職音影片技術專家; 在音影片會議行業工作 6年,在線教育行業工作 4年,一直聚焦在多人互動實時通訊領域。
最近經常遇到一些同學問我如何學習音影片,怎樣才能快速上手?還有一些對音影片不了解的同學問我該不該學習音影片?作為一名音影片行業的10年老兵,我有一些思考分享給大家,希望能對你有所幫助。
大背景

2020年真的是一個多災、多難的年份,冠狀病毒的爆發使得本該舉國歡慶的春節變得尤為沉悶。不能走親,不能訪友,除了呆在家裡,那兒也不能去。正如張文宏大夫向我們勸解的,我們要將病毒給悶死
。
大家都盼著疫情可以趕緊過去,早點恢復正常的生活。但從目前的情況看,短時間內這個疫情是很難結束的。這不剛從中國消停了一陣,又跑到海外大爆發了,誰知道它會不會又轉回來呢?
可我們還得生活!還得工作!還要學習!
好時代

幸運的是我們生活在一個好時代,科技在這幾十年得到了迅猛的發展。在疫情肆虐的當下,我們可以通過音影片會議進行遠程辦公;我們還有在線教育系統,對於大多數學生來說,完全可以在家進行在線學習。
從某個角度看,這次疫情雖然導致很多行業處於崩潰邊緣,但也催生了新的行業發展,其中音影片會議和在線教育就是因疫
而起的行業。在疫情短時間內難以結束的情況下,音影片會議和在線教育的重要性馬上體現了出來,新的溝通方式和教育方式被越來越多的人所認知,所接納。
甚至我們可以判定,在線教育行業和音影片會議行業會在今年崛起,並在未來十年得到迅猛發展。
目前,各大巨頭公司(如阿里、騰訊、今日頭條,新東方等),紛紛在這兩個方向上謀篇布局,進行了大量的投資,籠絡技術人才,也可以間接佐證這個判斷了。
大趨勢

從未來大的趨勢來看,隨著5G時代的到來,音影片慢慢變成人們日常生活中的必須品。除了在線教育、音影片會議、即時通訊這些必須使用音影片技術的產品外,其它的產品也需要加入音頻、影片元素。比如說將現在的網站註冊與登陸的圖文方式全部改為語音方式是否更加安全?相信隨著音影片技術的普及,更加有創意的產品會如雨後春筍般孕育而生。
目前,音影片技術從之前的「象牙塔」逐漸走向「百姓家」已是不爭的事實。正是因為這樣一個大的趨勢,現在除了各大廠之外,其它一些小廠也開始尋找音影片人才。一名稍好點的音影片人才現在可能會有3-4家公司搶著要、掙著要。
對音影片人才的需求從小眾變成了大眾,這更多的是大家對未來市場預期的結果。做個不恰當的比喻,3G/4G的出現,促成了移動互聯網10年繁榮。而5G的出現,也會促成至少10年音影片行業的繁榮。
除了5G的到來可以讓音影片得到更廣范的應用外,音影片技術在未來還有更重要的作用。事實上,在人類可以識別的資訊中,音影片包含的資訊是最豐富的,但人類並沒有很好的將它們利用起來。
究其原因,是因為這些資訊都是非結構化的數據,而人類善長的是處理結構化數據(比如資料庫)。而對於這些非結構化的數據卻無從下手的,所以這些音影片數據都被白白浪費掉了。
但隨著電腦視覺、人工智慧的發展,人們開始撐握了如何將音影片這類非結構化數據轉化為結構化數據的方法。一旦我們將音影片數據轉為結構化數據後,我們就可以利用現有的技術(如搜索引擎、大數據,數據挖掘等)對這些數據進行各種分析了,這個價值是不是更加驚人呢?而這一切的基礎都是音影片技術。
所以,音影片研發的未來是極為廣闊的。目前可以說是學習音影片的最佳時機,及早的加入音影片研發的隊伍,才能使自己在未來的職場上更有作為。
有錢景

正如我上面所說的,各大廠為了爭奪未來,搶佔先機,不惜重金籠絡人才。通過招聘市場我們可以了解到,一名合格的音影片開發人員,少則年薪 30 萬起,多則可以達 100萬以上。
出現這種情況的原因主要有兩個,一是音影片方面的人才不好培養,二是現有的優秀人才太少了。
從技術上來說,音影片從業者分成兩個方向,一是搞演算法的,另一個是搞工程的。搞音影片演算法的這類人非常少,需要有深的數學能力和演算法背景。相對來說,學習成本高,一般企業不需要,也養不起。這類人一般都會選擇去大公司,薪水百萬都是Low的。這些人一般只專註在一個領域上,因此就業面也窄。
搞工程的人相對多一些,他們有紮實的理論基礎,很強的技術功底,對音頻/影片都非常熟悉。這類人才工資要比同級別的其它開發人員薪資高20%以上。
因此,搞音影片技術的開發人員錢景還是非常樂觀的。而且隨著時間的推移,在未來幾年音影片人才會更加炙手可熱。
音影片好學嗎?

說句實話,音影片自學起來困難重重,學習成本非常高,且效率低。主要有兩方面的原因,一是音影片知識龐雜,通俗易懂的資料非常少;另一方面,網上充斥著大量的錯誤資訊,使得很多初學者掉到坑裡就爬不出來了。
我來舉個例子,按照傳統的音影片學習方法,學習音影片你首先要閱讀大量的音影片規範/協議文檔(如H264、MP4/FLV、RTP/RTCP等)。這些文檔中的內容基本都以位為單位的,即每個二進位位的變化都代表不同的含義,這種文檔極其枯燥,很難閱讀。
在對文檔熟悉的前提下,再進行程式碼的開發難度就「更上一層樓」了。這時你會發現,如果你對 C/C++ 使用不熟練,沒有專門進行過訓練的話,你就進入了煉獄般的狀況,那是一種折磨。
好在現在有FFMPG、WebRTC 等開源庫,大大降低了研發成本。但即使這樣,對於小白同學來說學習音影片依然是十分困難的。
小白如何學習音影片?

如上面所講,音影片的入門難度還是蠻大的,我們該如何更快的入門呢?
我覺得最好的方式要找到非常好的課程,可以循序漸近,有條理、系統的學習。當然能有老師指導,遇到問題時老師能及時給予解答就更加錦上添花了。這樣既可以快速入門,又可以系統的學習音影片知識,可以說這是最佳途徑了。
對於能力強的同學也可以自學,但相對來說,這個時間成本就太高了。遇到一個坑卡幾天是很正常的。網上音影片資料那麼多坑,你想想要經歷多長時間你才能真正學會它呢?即使你歷盡千辛入門之後,你會發現離用人單位的要求還差著十萬八千里呢。
對於各大廠來說,他們要招聘的人才既要有非常紮實的基礎知識,又需要有一定的工程經驗;如果你在學習的過程中沒有實際做一些項目就很難達到它們的要求。
正是基於這樣的考慮,我推出了一系列音影片的課程。這些課程中既有適合小白同學入門的課程(如音影片小白系統入門), 又有進階的課程(如FFmpeg音影片核心技術精講與實戰)。
其中與ffmpeg相關的課程是音影片小白系統入門和FFmpeg音影片核心技術精講與實戰。與 WebRTC 相關的課程是 WebRTC實時互動直播技術入門與實戰和WebRTC流媒體伺服器設計與開發。
如果你想學習音影片基礎知識,音影片處理、編輯、特效相關的內容就學習ffmpeg的系列課程。如果你想學習音影片實時通訊(如音影片會議、在線教育)就學習WebRTC相關的課程。
入門音影片要學習哪些內容呢?

這裡我簡單列舉一下入門音影片都要學哪些知識。對於已經學習了一些音影片知識而不知道自己目前水平的同學也可以作為一個參考,看看自己是否達到了入門水平。
- ffmpeg在不同系統中的安裝與簡單裁剪
- 音頻基礎知識,如頻率、取樣大小和通道數等
- 音頻的壓縮原理
- 如何從不同的設備上採集音頻數據
- 如何對音頻進行不同的編解碼
- 影片的基礎知識
- H264編碼原理
- 如何從不同設備上採集影片數據
- 熟悉YUV的一些常見格式(YUV420、NV21,YV12的不同)
- 如何將YUV數據編碼為H264/H265、VP8/VP9等
- FLV/RTMP/HLS/MP4協議要十分清楚 ……
從上面的列表中你可能看到,要入門音影片要學的知識還是不少的。尤其是音影片的基礎原理是最為重要的,否則你去面試人家問你為什麼會產生花屏,為什麼會產生卡頓,如何才能秒開這些簡單的問題你都無法回答上來。
小結
總之,音影片已經強勢崛起,相信未來的十年一定是音影片的十年。並且將音影片技術與電腦視覺和人工智慧結合將引領未來二十年。
現在正是學習音視技術的最佳時機,大家一定要把握住機會,跟上時代的步伐,讓自己可以在未來大有作為。