玩轉(zhuǎn)玩轉(zhuǎn)音視頻開發(fā)(一)
玩轉(zhuǎn)玩轉(zhuǎn)音視頻開發(fā)(一)
提起現(xiàn)在比較火的直播、IPTV、視頻會(huì)議、短視頻等,都要依賴于音視頻的一個(gè)音視頻開發(fā)庫(kù)--ffmppeg,它是音視頻領(lǐng)域必須要了解而且要掌握的一個(gè)知識(shí)點(diǎn)。
那么具體它可以干什么呢?!簡(jiǎn)單的來說,當(dāng)你打卡一個(gè)美好的景點(diǎn)、打開抖音錄制一個(gè)美美的視頻,然后打開剪影開始制作視頻、加入字幕和音樂以及加入動(dòng)效,最后分享出去。ffmpeg就是對(duì)視頻進(jìn)行轉(zhuǎn)碼、剪輯、加入動(dòng)效等。
小試牛刀
將一個(gè)mp4格式的視頻轉(zhuǎn)成mov格式

看到這個(gè)結(jié)果,說明轉(zhuǎn)碼成功了。
時(shí)間太久、可以進(jìn)行截取

如果感覺文字不好看,我們可以執(zhí)行

如何給視頻加圖片水印

如果看到上圖的畫面說明添加成功。 濾鏡特效很多后期會(huì)專門做一期ffmpeg濾鏡特效的課程,這里就不一一介紹了。
流媒體
rtmp
RTMP(Real Time Message Protocol) 有 Adobe 公司提出,用來解決多媒體數(shù)據(jù)傳輸流的多路復(fù)用(Multiplexing)和分包(packetizing)的問題,優(yōu)勢(shì)在于低延遲,穩(wěn)定性高,支持所有攝像頭格式,瀏覽器加載 flash插件就可以直接播放。
rtsp
RTSP (Real-Time Stream Protocol)由Real Networks 和 Netscape共同提出的,基于文本的多媒體播放控制協(xié)議。RTSP定義流格式,流數(shù)據(jù)經(jīng)由RTP傳輸;RTSP實(shí)時(shí)效果非常好,適合視頻聊天,視頻監(jiān)控等方向。
hls
HLS ( HTTP Live Streaming)蘋果公司提出的流媒體協(xié)議,直接把流媒體切片成一段段,信息保存到m3u列表文件中,可以將不同速率的版本切成相應(yīng)的片;播放器可以直接使用http協(xié)議請(qǐng)求流數(shù)據(jù),可以在不同速率的版本間自由切換,實(shí)現(xiàn)無縫播放;省去使用其他協(xié)議的煩惱。缺點(diǎn)是延遲大小受切片大小影響,不適合直播,適合視頻點(diǎn)播。
總結(jié):HLS 延遲大,適合視頻點(diǎn)播;RTSP雖然實(shí)時(shí)性最好,但是實(shí)現(xiàn)復(fù)雜,適合視頻聊天和視頻監(jiān)控;RTMP強(qiáng)在瀏覽器支持好,加載flash插件后就能直接播放,所以非?;?,相反在瀏覽器里播放rtsp就很困難了。
主要還是要掌握rtmp的推流方式、因?yàn)榭焓帧站,等短視頻平臺(tái)的推流方式就是rtmp。
先獲取推流的地址和串流密匙。

如果看到

證明推流成功了。


多個(gè)平臺(tái)推流方式、也是可以的,但是要獲取它的推流地址和密匙就可以了。
# 只需要加個(gè)map 0就可以實(shí)現(xiàn)多路推流?
本次講解以ffmpeg基礎(chǔ)命令來講解了基本使用和常用的流媒體方式和短視頻常用的推流方式和方法。下節(jié)將通過Python語言的方式如何在應(yīng)用中使用ffmpeg。