前言:
大家假期好,之前有幾個(gè)粉絲朋友加了我微信私底下說,能不能寫一篇有關(guān)音視頻學(xué)習(xí)的路線;
這幾天我也思前想后,我該怎樣寫一篇關(guān)于音視頻的學(xué)習(xí)路線,音視頻學(xué)習(xí)資料再網(wǎng)上本來就少,而且系統(tǒng)的資料更少,就像上次我說的書籍推薦,我至今在知乎和csdn上,也沒找到合適的書籍,找的書籍大都大同小異。同時(shí)也提前說一下,我本人目前不是專門做音視頻相關(guān)的崗位開發(fā),但是由于業(yè)余時(shí)間對(duì)這塊非常感興趣,也在公眾號(hào)上寫了一些學(xué)習(xí)總結(jié),期間不斷有朋友過來相互交流,非常感謝他們,讓我開闊了視野,更加對(duì)音視頻這塊有了一個(gè)清晰的認(rèn)識(shí)!下面我寫這篇文章的時(shí)候,我會(huì)結(jié)合一些實(shí)際企業(yè)招聘的要求來結(jié)合寫,其實(shí)最近一段時(shí)間,我也抽時(shí)間去面試了一些流媒體崗位(這里說一下,嵌入式端和互聯(lián)網(wǎng)的音視頻差別不是很大,很多音視頻知識(shí)互通的?。?,給大家提示一下,網(wǎng)絡(luò)基礎(chǔ)知識(shí)非常重要,里面會(huì)設(shè)計(jì)到很多網(wǎng)絡(luò)協(xié)議?。ㄏ旅媸呛鸵晃环劢z朋友交流的最多的對(duì)話,他做的是一個(gè)奧運(yùn)會(huì)項(xiàng)目,壓力特別大,進(jìn)度特別趕,不容易!)
一、看看實(shí)際音視頻招聘要求:
我們可以打開Boss直聘軟件來看一些音視頻的企業(yè)招聘要求:這幾個(gè)招聘要求應(yīng)該是比較有代表性的,有大廠的也有小廠的;通過上面要求,我們可以發(fā)現(xiàn)以下幾點(diǎn)是我們?cè)谄綍r(shí)學(xué)習(xí)過程必須要去認(rèn)真學(xué)習(xí)的:
- ffmpeg
- h264、h265
- rtsp(這里面更多的是rtp和rtcp)、rtmp
- 常見的封裝格式(ts、flv、mp4等)
- 音頻、視頻,關(guān)于它的解碼和編碼
- webrtc,這個(gè)更多的是在流媒體這塊更偏向互聯(lián)網(wǎng)方向,當(dāng)然現(xiàn)在很多嵌入式崗位也會(huì)要求這個(gè)。
這里也外加一點(diǎn)硬性的基本要求:c/c 、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)基礎(chǔ)知識(shí),這里不乏要學(xué)習(xí)go(當(dāng)然這塊偏向互聯(lián)網(wǎng),對(duì)于嵌入式崗位的朋友,可以不用去學(xué)習(xí),但是c和c 這最基本的要求)不知道大家看完這些,內(nèi)心是什么感受哈,如果你是一個(gè)對(duì)音視頻這塊安全是剛接觸的話,可以從基本的一些基礎(chǔ)知識(shí)開始,比如說,大部分書籍上寫的基礎(chǔ)知識(shí)點(diǎn):
- 幀率、分辨率、刷新率
- 編碼格式和封裝格式
- 碼率和畫質(zhì)
- DTS和PTS
- 時(shí)間戳
當(dāng)你對(duì)上面的一些概念有了一個(gè)大概的了解后,就可以去學(xué)習(xí)一下ffmpeg的使用,比如說它的常用命令使用,剛開始學(xué)習(xí),我建議你到它的官網(wǎng)學(xué)習(xí)哈(當(dāng)然在這之前,你要搭建一個(gè)ffmpeg環(huán)境,不然光看,不動(dòng)手,肯定是學(xué)不會(huì)的,這里建議可以不用去看書,直接看手冊(cè)一定可以學(xué)會(huì)的):
https://www.ffmpeg.org/ffmpeg.html
然后接著你可以學(xué)會(huì)使用ffmpeg常用接口,剛學(xué)這個(gè)ffmpeg,建議不要去研究它的源碼(這個(gè)東西比較耗時(shí)間,等你有了一定知識(shí)量或者基礎(chǔ)更扎實(shí)了,你再來研究里面的原理也不遲,現(xiàn)階段你要的就是使用起來,可以做一些簡單的東西出來,比如播放器等等),關(guān)于ffmpeg開源項(xiàng)目,可以在學(xué)習(xí)ffmpeg的時(shí)候,可以參考雷霄驊前輩的學(xué)習(xí)總結(jié):
https://blog.csdn.net/leixiaohua1020?spm=1001.2014.3001.5509
接著往下,你可以去學(xué)習(xí)rtsp、rtmp相關(guān)協(xié)議,學(xué)習(xí)這些協(xié)議的時(shí)候,更多的是動(dòng)手寫代碼實(shí)踐,因?yàn)殛P(guān)于協(xié)議的文檔里面的知識(shí)點(diǎn)很多,你不可能一下記住,只有使用起來,才能理解和掌握的更深。最后,我個(gè)人建議,你可以學(xué)習(xí)一下開源的流媒體服務(wù)器srs:
https://github.com/ossrs/srs
一些該支持的都支持了:
二、個(gè)人看法:
這里的學(xué)習(xí)路線,我沒有去展開具體知識(shí)去分享,我覺得把大體的方向給大家列出來就行,具體的細(xì)節(jié)知識(shí)點(diǎn),你在學(xué)習(xí)這些大方向的時(shí)候,自然而然的就會(huì)遇到!其實(shí)音視頻資料我這里有很多,有需要的朋友可以微信私下找我拿:
同時(shí)我這里也有視頻教程,也可以私底下找我拿。總體來說,上面的分享都是對(duì)音視頻入門最為基本的要求了,其實(shí)里面更多的是要實(shí)踐!最后希望以上的分享對(duì)大家有幫助!
三、總結(jié):
大家在學(xué)習(xí)完這些,可能會(huì)問,有沒有開源項(xiàng)目啊,想練練手,當(dāng)然是有的,暫時(shí)你先把基礎(chǔ)的知識(shí)學(xué)習(xí)完吧,如果要的話,可以私聊我!后期的時(shí)間,踏踏實(shí)實(shí)給大家分享技術(shù)文章,我們下期見!同時(shí)你也可以加我個(gè)人微信,可以圍觀我的朋友圈,我時(shí)不時(shí)分享一些技術(shù)書籍和非技術(shù)書籍哦:tu18879499804