如何拯救人聲意外分離的游戲?qū)崨r視頻

大家好,我是波導終結(jié)者。
之前跟大家分享過用OBS錄視頻,功能非常強大。然而OBS在設(shè)置上確實復雜,勸退不少人,我也經(jīng)常遇到設(shè)置忘了改或者失誤的情況。最近在錄視頻的時候,我就出了一次錯,幸好用最少的代價給救回來了。今天就跟大家分享一下思路。

事情的起因也很簡單,平時我有時候用采集卡錄制,有時候是PC內(nèi)錄,所以設(shè)置會來回改動。這次錄的時候忘了確認一下,變成上圖的設(shè)置了。軌道1只有PC桌面的音頻,也即游戲的聲音,沒有我的實況人聲。萬幸的是,麥克風軌道我還有錄到軌道2里面,不至于重新再配一次音。那么這種情況下,該如何挽救這個視頻,讓它恢復為音軌既有游戲聲音又有實況人聲的狀態(tài)呢?

還好我錄的是MKV文件,多音軌同時有保留,處理起來并不難。關(guān)于OBS錄制多音軌的方法,圖文可以參考《OBS視頻錄制最強三板斧!早下班,很簡單》,視頻可以參考BV1Ut4y1C7Rz。
理論上,最無腦的方法就是把視頻文件拖到非線編軟件里去,然后重新渲染出來,但是這樣的話耗時還是非常長的,并且視頻畫面還會經(jīng)過二次壓縮,質(zhì)量嚴重受影響。所以今天還是跟大家分享一下盡量無損、快速的方法(但并沒有那么傻瓜式操作)。

用MKVToolNix來看一下文件結(jié)構(gòu),一個視頻軌道,兩個音頻軌道,剩下的標簽可以忽略。這個工具界面挺好用的,混流也方便,但是如果要把單獨一軌提取成音頻或視頻,卻不太好用,因為外面會多一層容器。

這時候,我們使用另一個工具,MKVExtractGUI版,把單獨的兩個音軌導出來。導出來之后,把文件名改一下,我這里用的是track2.aac和track3.aac,這樣比較好認。

這里,我仍然用ffmpeg來做,這東西真是萬能,我之前跟大家分享過N次了,也省得下去下載亂七八糟的軟件,現(xiàn)在太多都有捆綁全家桶了。
直接看命令,-i后面接一個文件輸入,兩個音頻軌道就需要兩個-i。后面的命令都是ffmpeg官方的規(guī)格,也不要問我為什么這么寫。-filter_complex amix=inputs=2這個就是啟用混音濾鏡,輸入通道為2個。duration=first這個決定了音頻的長度,如果兩個音軌的長度不一樣,此參數(shù)為first則以第一個軌道為準,如果為longest則以最長的為準。

當然,混音的話是要經(jīng)過重新編碼的,理論上會損失一點音質(zhì),不過音頻重編碼的損失相對于視頻來說小得多,完全可以忽略。這點時間,跟把文件扔到非線編軟件里面重新渲染實在是小巫見大巫了。

最后,用MKVToolNix把源文件(要它的視頻)和混音過后的音頻文件都拉進來,只保留要的音頻軌道和視頻軌道,開始混流得到輸出文件,就完事兒了。
理論上,這當然不是操作步驟最少的方法。步驟最少的方法,當然是用ffmpeg文件直接一步到位,但是這樣的話需要在同一條命令行里面處理3條源軌道,并且同時完成混音、視頻軌和音頻軌的指定等工作,很復雜也很容易出錯,最后反而會花更多時間在調(diào)試上。鑒于不少朋友都說命令太復雜,所以跟大家分享的是保證質(zhì)量和速度的前提下,又最易學的方法。如果這么詳細和簡單的教程還學不會的話,那就得付出點時間代價,用重新渲染的方案了。

另外,由于在知乎經(jīng)常有這方面的回答和原創(chuàng),也經(jīng)常被推送類似的問題。有的情況下是無解的,比如錄的時候根本就沒錄下游戲聲音或者人聲。沒有游戲聲音基本只能重打,沒有人聲的話你可以后期配,再用我的這個方法混音進去。不存在的東西是不能憑空變出來的,我甚至看到有的問題問說,畫面沒錄下來全是黑的有辦法可以調(diào)出來嗎?重頭再來吧兄弟……
感謝大家觀看,如果對你有用,幫忙點個贊和關(guān)注吧,我們下期再見。