ffmpeg實戰-音視頻合成案例


轉發自白狼棧:查看原文

很多小伙伴私下里留言說,之前沒接觸過音視頻,對於ffmpeg可以做什么還是有些懵。

今天我們一起看下我們究竟可以用 ffmpeg 做什么?

很多小伙伴應該都玩過抖音,你在“拍同款”的時候,有沒有留意過“正在合成中”的提示,視頻越長合成的時間越長,少則幾秒多則幾十秒,這個其實就是app本地在做視頻合成。

讓用戶等這么久,感覺體驗很差。服務端可以合成嗎,答案是“可以”。

但其實ffmpeg在編碼的時候,非常吃cpu和內存,尤其是cpu,服務器cpu100%都是家常便飯。那增加cpu不就完事了嗎?我們后面會實際測試8核8G、16核16G的機器,發現依然會爆,所以這是一個無底洞,消耗不起。

所以抖音能讓服務端做嗎?肯定不能,用戶量大,app本地能做,最關鍵都是免費用戶。

所以從技術的成本考慮,這也是為什么抖音上很多特效都是短視頻,有的甚至只有10秒鍾,起碼這樣不會讓用戶等太久。

在學習音視頻相關的知識之前,我們先簡單看兩個應用場景。如果你剛巧有一些音視頻的基礎,順便可以練練手。

場景1、公司有很多原視頻,想以某種效果(比如電視機播放)更好的展示給用戶

期望效果如圖所示


素材比較難找,圖片是百度的,電視機中間顯示視頻的部分已經被ps處理了,略微粗糙;視頻是抖音下載的,原視頻也做了局部模糊。

相信每個公司都有好的UI,當前案例僅作為學習。

需要注意的點:

  1. 視頻可以裁剪,可以縮放,不能變形
  2. 注意電視機內屏的四個角是圓形的
  3. 原視頻只取了中間部分,沒有高斯模糊的背景
  4. 原視頻尾部含有抖音的部分同樣也被裁剪了

素材已經上傳到github,請點擊鏈接獲取

下載圖片素材

下載視頻素材

下載合成效果

場景2、公司有很多素材視頻以及對應的標題和字幕,想開放給用戶配音,合成自己的作品

期望效果如圖所示


素材同樣來源於抖音,左側視頻是用戶視頻,右側視頻的中間部分是視頻素材,底部是該素材的高斯模糊視頻,此外還有標題,字幕,字體都是事先准備好的。

素材已經上傳至github,請點擊鏈接獲取

下載左側用戶視頻

下載右側素材視頻

下載右側的字幕文件1字幕文件2

下載字體

最終合成的視頻效果

同一效果可能有多種不同的做法,如果你花費了一些時間都做出來了,先恭喜你。

為了降低服務器資源和合成的時間,請思考這兩個視頻效果如何各用一條命令完成。

第一次接觸音視頻的小伙伴可能會對這樣的合成效果感到驚訝,學完ffmpeg基礎部分,你至少應該會用一條命令解決以上甚至更復雜的音視頻需求。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM