最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

字幕組用什么軟件進(jìn)行視頻壓制呢?

2021-04-02 17:55 作者:XSky曉天  | 我要投稿

? ??這是我7年前在某乎上提出的問(wèn)題。7年后的今天,終于能給出一個(gè)相對(duì)完整的答案。

? ??篇幅有些長(zhǎng),主要涉及對(duì)編碼流程的講解以及糾正一些常見(jiàn)誤區(qū)。等不及分析的可以直接拖到后面看結(jié)論,但我還是建議有時(shí)間可以看完。

? ? TL;DR?“壓制”軟件的核心都是相同的固定的幾種,各路“壓制”軟件實(shí)質(zhì)就是給固定幾種命令行工具套個(gè)帶界面的“殼子”。區(qū)別無(wú)非對(duì)應(yīng)的版本新舊,參數(shù)可定義程度,用得是否順手罷了。推薦軟件在全文最后。

1. 什么是壓制

? ??在回答用什么軟件“壓制”之前,我想問(wèn)一下各位,所謂的“壓制”,到底是什么?

? ??壓制這個(gè)詞乍看上去就是“壓縮體積”,很多人的目標(biāo)也是單純?yōu)榱恕皦嚎s體積”。但實(shí)際上,如果用一個(gè)影視界常見(jiàn)的名詞來(lái)形容,我們常說(shuō)的“壓制”其實(shí)更像是完整的音視頻后期處理過(guò)程。

? ??具體來(lái)說(shuō),整個(gè)流程大致分為以下幾步:

  1. 音視頻分離與解碼

  2. 視頻畫面處理(音頻一般不做處理)

  3. 音視頻重編碼(這也是最接近“壓制”這個(gè)詞本身的一步)

  4. 音視頻重封裝(以及加入章節(jié)信息等)

? ??那么我們一個(gè)一個(gè)說(shuō)。

2. 封裝與編碼

2.1 封裝

? ??首先解釋第一條,這里就要引出封裝和編碼的概念。

? ??我們??吹降?MOV MP4 FLV MKV?這些后綴,叫做封裝格式。他們相當(dāng)于一個(gè)盒子,是音軌視頻軌字幕軌等等的外包裝。無(wú)論是播放器進(jìn)行播放,還是我們進(jìn)行處理,所需的第一步就是把盒子拆開(kāi),拿到單獨(dú)的音頻視頻字幕等軌道,才能進(jìn)行下一步操作。

? ? 同時(shí),分離出來(lái)的視頻、音頻軌,往往是經(jīng)過(guò)編碼的數(shù)據(jù),簡(jiǎn)單來(lái)說(shuō),就是所謂“壓縮”過(guò)的數(shù)據(jù)。那么視頻是怎么“壓縮”的呢?

2.2 視頻編碼

? ? 視頻編碼有兩個(gè)維度。從信號(hào)處理的角度,叫時(shí)間維度和空間維度。但是用人話來(lái)說(shuō),就是單幀畫面和多幀組成的序列。對(duì)應(yīng)就叫幀內(nèi)編碼幀間編碼。

? ? 首先先說(shuō)單幀的幀內(nèi)編碼。顯然,視頻里一幀就是一張圖片。

? ? 相信你應(yīng)該聽(tīng)說(shuō)過(guò)將 bmp / tiff 壓縮為 jpg / png / webp 等等的有損或無(wú)損的圖像壓縮算法,而所謂幀內(nèi)編碼,就是在對(duì)視頻每一幀做圖像壓縮。也就是說(shuō),壓縮的參考對(duì)象范圍只有當(dāng)前幀的畫面。

? ? 幀內(nèi)編碼的好處是編解碼運(yùn)算量小,缺點(diǎn)則是由于需要每幀編碼一次,所以體積相比 RAW 視頻(可以理解為未經(jīng)壓縮的原始圖像序列)并不會(huì)小很多。常見(jiàn)的 ProRes 格式,就是因?yàn)槠洳捎脦瑑?nèi)編碼的特點(diǎn),非常便于非編軟件(i.e. 剪輯、特效、調(diào)色……)進(jìn)行流暢地編輯,而流行起來(lái)。

? ? 幀間編碼就要復(fù)雜一些,因?yàn)樗鼌⒖嫉氖?strong>多幀畫面的組合,記錄的是運(yùn)動(dòng)趨勢(shì)。再說(shuō)簡(jiǎn)單點(diǎn),就是在關(guān)鍵幀之間記錄變化。

? ? 比如說(shuō),對(duì)于“車輛在樹(shù)木和樓房前駛過(guò)”這個(gè)場(chǎng)景。顯然樹(shù)木和樓房在車輛的整個(gè)行駛過(guò)程中幾乎沒(méi)有變化。那么這個(gè)區(qū)間大可以只在關(guān)鍵幀保留樹(shù)木和樓房。而中間幀保留車輛位置與運(yùn)動(dòng)信息。這樣就可以減少每一幀幾乎不變的樹(shù)木、樓房占用的體積。

? ? 因此,不難看出,幀間編碼可以在保證畫面影響不大的情況下,大幅削減中間幀的體積;而缺點(diǎn)在于解碼壓力相對(duì)幀內(nèi)更大。此外,一旦關(guān)鍵幀損壞或丟失,那么參考這一幀的中間幀也會(huì)無(wú)法正常查看。這是看到“花屏”的常見(jiàn)原因之一。

? ? 當(dāng)然了,不同壓縮算法,采用的具體策略各不相同。比如,幀間編碼算法往往會(huì)采用兩種編碼方式的組合。這也可以解釋為什么你無(wú)法通過(guò)通用的文件壓縮算法對(duì)編碼后的視頻減少體積,因?yàn)閴嚎s時(shí)已經(jīng)進(jìn)行過(guò)這樣的操作了。


2.3 音頻編碼

? ? 我們這里說(shuō)的音頻(重)編碼,是對(duì)數(shù)字形式的音頻信號(hào)的二次處理。與幀間編碼為主的視頻流不同,音頻可以做到無(wú)損壓縮的同時(shí)降低較多體積

? ? 音頻編碼的選擇受到封裝的限制。比如:典型的 MP4 封裝要求采用 AAC 編碼。由于這是一種有損編碼,在聲源非 AAC 格式的時(shí)候,就必須進(jìn)行有損失的重編碼操作。而常見(jiàn)的如“為 Web 源視頻添加‘硬’字幕”的場(chǎng)景中,由于源音軌同樣為 AAC 格式,因此壓制時(shí)就可以不對(duì)音軌進(jìn)行處理,直接原封不動(dòng)跟處理后視頻封裝即可。


3. 視頻畫面處理

? ? 可以說(shuō),讓所謂“壓制”打上引號(hào),即不等同于單純重編碼或者減小體積的原因,正是因?yàn)榘l(fā)布組或者字幕組的“壓制”流程往往伴隨著畫面的處理。

? ? 與影視行業(yè)后期不同,就筆者的經(jīng)驗(yàn)來(lái)看,字幕組/壓制組的這一流程,通常不涉及復(fù)雜特效。

? ? 這里首先解釋“濾鏡”的概念。和非編軟件(i.e. 非線性編輯,比如視頻剪輯/特效/調(diào)色軟件,與之相對(duì)是傳統(tǒng)的物理膠片剪輯)一樣,在處理過(guò)程中,習(xí)慣性把各個(gè)處理器稱為“濾鏡”。比如,一開(kāi)始的讀取、解碼視頻流就是“源濾鏡”的工作,其作用就是把編碼后的視頻還原為可供處理的原始圖像序列。此外,常見(jiàn)的還有視頻黑邊的去除(裁剪)、畫面分辨率縮放(超分/降采樣)、對(duì)隔行掃描片源的反交錯(cuò)或反膠卷過(guò)帶、以及為原視頻加上硬字幕(字幕濾鏡)等等。

? ? 復(fù)雜一點(diǎn),比如常在非編軟件中出現(xiàn)的降噪、銳化、調(diào)色等,包括現(xiàn)在流行甚至大有濫用之勢(shì)的補(bǔ)幀、AI修復(fù)等等,只要有相關(guān)插件支持,都可以出現(xiàn)在這個(gè)流程中。

? ? 這里值得強(qiáng)調(diào)的地方,就是“畫面瑕疵類型的識(shí)別和相應(yīng)對(duì)策”。尤其在以相對(duì)規(guī)律的二維手繪動(dòng)畫片源的場(chǎng)景,針對(duì)性的修復(fù)往往可以獲得較好的觀感提升。目前比較直觀且便于參考的就是 VCB 組長(zhǎng) LP 在 16 年親自撰寫的一篇文章:[VCB-Studio 科普教程 6] 動(dòng)漫視頻常見(jiàn)的瑕疵/缺陷介紹 (https://vcb-s.com/archives/4738)。

如果說(shuō),“壓制”的核心是視頻的畫面處理,那么識(shí)別出畫面的缺陷并進(jìn)行合適的處理(i.e. 選擇合適的濾鏡并賦予合適的參數(shù)),可以說(shuō)就是核心中的核心,乃至視頻修復(fù)/增強(qiáng)這一圖形學(xué)領(lǐng)域的核心。

最后提一下在“壓制”環(huán)節(jié),字幕組常見(jiàn)的畫面處理的工具。目前最常見(jiàn)的方式,就是通過(guò)腳本與對(duì)應(yīng)的解析器實(shí)現(xiàn)。其最大的優(yōu)勢(shì)就是可以通過(guò)編寫和運(yùn)行腳本的方式進(jìn)行濾鏡逐級(jí)調(diào)用,從而實(shí)現(xiàn)直觀簡(jiǎn)潔的視頻處理,不需動(dòng)用 AE / PR / 達(dá)芬奇這類臃腫的非編軟件。

常用的腳本解析器(或者說(shuō)視頻處理框架)有兩種,其一是?AviSynth(AVS);其二是VapourSynth(VS)。前者由于無(wú)法利用 CPU 多核心等原因,逐漸被后者取代。

4. 處理后視頻的重編碼

無(wú)論是非編軟件還是上述腳本解析器,最終成片都要進(jìn)行重編碼。作為一個(gè)壓制者,到了這里基本只需要確定兩件事:(1)選擇什么編碼(2)選擇這種編碼方式的哪種實(shí)現(xiàn)

選擇編碼,就是 2.2 中說(shuō)的,根據(jù)你的目標(biāo)封裝格式、目標(biāo)設(shè)備選擇,比如常見(jiàn)的 AVC HEVC 或者影視圈常見(jiàn)的 ProRes 等等。我想著重說(shuō)說(shuō)第二條,也就是同樣編碼方式的不同實(shí)現(xiàn)的問(wèn)題。

最簡(jiǎn)單的例子,就是 GPU 跟 CPU 編碼 AVC / HEVC 的區(qū)別。這一點(diǎn),其實(shí)就是所謂的“開(kāi)啟硬件加速”。利用顯卡的專用編碼電路實(shí)現(xiàn)轉(zhuǎn)碼效率的大幅提高。不過(guò)顯而易見(jiàn),肯通過(guò)(3)的方式二次處理片源,通常意味著對(duì)畫質(zhì)更高的追求,所以一般對(duì)于非趕時(shí)間、或者視頻網(wǎng)站發(fā)布的片源,會(huì)優(yōu)先選擇速度較慢,但編碼效率更高(i.e. 相同質(zhì)量體積更低/相同體積質(zhì)量更高)的 CPU 編碼。

另外,除了編碼硬件的區(qū)別,同樣硬件下,不同編碼器的實(shí)現(xiàn)依然有所不同。比如 CPU 編碼的 x265 有 Yuuki 跟 Asuna 的版本;同樣是 N 卡編碼的 NvEnc,日本 rigaya 大佬的實(shí)現(xiàn)就要比 Handbreak 默認(rèn)集成的版本以及 Adobe Media Encoder 的口碑好很多。

5. 重新封裝

? ? 那么我們?cè)?2.3 中拿到了處理后(或者保持原樣)的音頻流,在 4 中拿到了處理完并重新編碼過(guò)后的視頻流,最終要做的就是像打包快遞一樣,通過(guò)封裝工具給他們重新包回去。最簡(jiǎn)單的方法就是通過(guò)通用工具—— ffmpeg 的一行命令。不過(guò)你當(dāng)然可以選擇各個(gè)格式特定的工具,比如?mp4box?、mkvtoolnix 操作。除了基本的音視頻流之外,諸如封裝外掛字幕、字體等等,可以根據(jù)封裝格式的說(shuō)明自行操作,這里就不再贅述了。

? ? 至此,整個(gè)“壓制”的完整流程就結(jié)束了。

6. “壓制”流程總結(jié)

? ? 我們從頭開(kāi)始理順一下。

? ? 還記得剛才說(shuō)到的完整流程嗎?沒(méi)關(guān)系,我再給大家寫一遍。

1. 音視頻分離與解碼
2. 視頻畫面處理
3. 音視頻重編碼
4. 音視頻重封裝

? ? 首先是第一步,從封裝好的視頻中將音視頻分離,得到單獨(dú)的視頻、音頻文件。

? ? 接下來(lái),對(duì)視頻軌道進(jìn)行解碼和處理,處理后再次重編碼。

? ? 再對(duì)音頻軌道進(jìn)行處理,通常只進(jìn)行重編碼或者保持不變。

? ? 最終,將處理后的音視頻軌道,以及其他需要附加的內(nèi)容如字幕等重新封裝,從而得到最終處理好的新文件。

7. 軟件與結(jié)論

? ? 如果你完整看到了這里,首先恭喜你,因?yàn)闊o(wú)論是否完全理解,至少你已經(jīng)對(duì)整個(gè)流程有了一個(gè)相對(duì)直觀的印象。那么,回到我們最開(kāi)始的問(wèn)題——究竟該怎么選擇軟件呢

? ? 我們一步步來(lái)說(shuō)。

? ? 首先,封裝的拆與裝,通??梢?strong>采用同一軟件。也就是在 5 中提到的,類似 ffmpeg 這樣的通用工具,以及 mp4box 、mkvtoolnix 這類封裝的特化工具。

? ? 接下來(lái),就是我在 3 中提到,視頻的解碼和處理,目前習(xí)慣性通過(guò)兩款腳本解析器(或者說(shuō)處理框架)實(shí)現(xiàn)—— AviSynth、VapourSynth。當(dāng)然,除了本體之外,你可能還需要額外安裝一些所需的濾鏡,不過(guò)這就不是這篇基礎(chǔ)教程涉及的內(nèi)容了。你當(dāng)然也可以把?AE 這種大家伙算在這里,因?yàn)榇_實(shí)有些神組用 AE 加字幕效果的。

? ? 在切入視頻編碼器之前,上述處理器編碼器之間可能需要一些中介作用的工具。比如 VS 腳本需要 vspipe (自帶),Adobe 全家桶想要解鎖高級(jí)編碼設(shè)置需要額外安裝的 Media Encoder 或者幀服務(wù)器類軟件。

? ? 那么就是視頻編碼器了,x264.exe 也好,nvenc.exe 也好,在 4 之中說(shuō)得差不多了,細(xì)節(jié)的問(wèn)題交給搜索引擎就好了。

? ? 音頻編碼器其實(shí)和視頻編碼器一樣,也是先選編碼再根據(jù)編碼選不同的實(shí)現(xiàn)。比如,AAC 格式口碑比較好的編碼器是蘋果家的?qaac?。

? ? 大概就這么幾種。

? ? 說(shuō)到這里有人就會(huì)感到奇怪,為什么我看到別人推薦什么 MeGUI、小丸工具箱、格式工廠、Handbreak、MediaCoder 這些軟件呢?他們和前面說(shuō)的這一大堆有什么區(qū)別呢?

? ? 回到我在文章最前面加粗的結(jié)論:“壓制”軟件的核心都是相同的固定的幾種,各路“壓制”軟件實(shí)質(zhì)就是給固定幾種命令行工具套個(gè)帶界面的“殼子”。區(qū)別無(wú)非對(duì)應(yīng)的版本新舊,參數(shù)可定義程度,用得是否順手罷了。

? ? 什么意思呢,如果你感興趣觀察一下上面幾款軟件的輸出日志,你會(huì)發(fā)現(xiàn)密密麻麻如同命令行顯示的內(nèi)容。其實(shí),這就是背后的命令行工具的執(zhí)行結(jié)果。也就是說(shuō),他們的本質(zhì)就是為這些工具提供了一個(gè)漂亮或者不漂亮的輸入輸出界面,而背后運(yùn)行的還是剛才說(shuō)的封裝、編碼、處理流程中的各個(gè)工具

? ? 單純使用命令行工具看著酷炫,但對(duì)于業(yè)余用戶確實(shí)是不夠友好。此外,因?yàn)樯婕岸喾N工具的組合,還有中間文件、臨時(shí)文件的清理等等問(wèn)題,修改參數(shù)也比較麻煩,這便催生了上面說(shuō)的這些帶界面的一鍵化工具。從而實(shí)現(xiàn)了“無(wú)腦”一鍵壓制。

? ? 因此就是我結(jié)論中最后一句,選擇這類殼子的標(biāo)準(zhǔn)就是“整合了什么工具以及什么版本”、“是否方便美觀”,以及自定義的參數(shù)是否全面等等。

? ? 我們可以刨析一下經(jīng)典的幾個(gè)殼子:

? ? 格式工廠因?yàn)橹С终{(diào)整的參數(shù)與編碼器過(guò)少,導(dǎo)致輸出效果達(dá)不到預(yù)期,所以并不推薦。

? ? MeGUI 與小丸工具箱,整合工具比較多,整體使用比較方便,特別是一鍵生成 AVS 腳本。不過(guò)考慮到 AVS 不支持多核優(yōu)化,所以不建議在簡(jiǎn)單處理上使用。

? ? MediaCoder?自定義參數(shù)過(guò)多,有些讓人不知所措,但也確實(shí)可以考慮。

? ? 等等。

? ? 羅列完可以看出,上述軟件優(yōu)缺點(diǎn)都不少。這也是后來(lái)我們很多人自己去造殼子的原因。但無(wú)論如何,最好的方案永遠(yuǎn)是了解這套流程的原理,雖然不求了解圖形學(xué)、信號(hào)處理這類過(guò)于底層的知識(shí),但最起碼要知道這些殼子下面跑的基礎(chǔ)軟件是什么,該如何使用。

? ? 對(duì)于有一定追求的玩家來(lái)說(shuō),既然殼子下面都是命令,那干脆直接把命令整合一下運(yùn)行:壓制組手里總要有那么幾個(gè)現(xiàn)成的 bat 或者 sh,甚至自己寫殼子。這就是用什么壓制的終極結(jié)論。


BONUS 推薦的工具

ffmpeg - 音視頻界瑞士軍刀,無(wú)數(shù)播放器的底層。編解碼分析甚至一些基礎(chǔ)濾鏡齊全。不追求效果其他都可以不裝。只不過(guò)沒(méi)界面。


rigaya編寫的編碼器 - 特別是N卡用的nvenc,目前最推薦的nvenc x264編碼器。

https://github.com/rigaya


VapourSynth Editor?2 - VS腳本瀏覽必備工具

https://bitbucket.org/gundamftw/vapoursynth-editor-2/downloads/


Visual Studio Code - 輕量化檢查腳本的問(wèn)題,編輯命令行代碼和腳本的免費(fèi)工具


非要我推薦一個(gè)殼子的話,推薦一下 @HoshinoKun_困?寫的,NvEnc + ffmpeg 光速壓字幕傳 B 站神器。

https://github.com/hoshinohikari/StarTools/blob/master/README_CN.md


后記

? ??7年時(shí)間,從當(dāng)時(shí)那個(gè)只會(huì)用Pr剪電子相冊(cè)的高中生到如今軟件工程本科畢業(yè),方向還就是視頻處理;一路上遇到了太多予以幫助和支持的小伙伴,想想都覺(jué)得有些不可思議?,F(xiàn)在已經(jīng)在新的領(lǐng)域開(kāi)始摸索。不知道7年之后的我,會(huì)如何看待現(xiàn)在的自己呢?

? ??以上。


字幕組用什么軟件進(jìn)行視頻壓制呢?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
关岭| 宝丰县| 大田县| 沁阳市| 手游| 措美县| 汉川市| 银川市| 梧州市| 唐海县| 封开县| 洛宁县| 无为县| 平陆县| 江津市| 若尔盖县| 伊吾县| 成安县| 大厂| 海原县| 潜江市| 涡阳县| 黑河市| 太和县| 普格县| 普兰县| 沙河市| 灯塔市| 乌什县| 和静县| 曲阳县| 潮安县| 咸阳市| 渑池县| 彰化市| 航空| 上杭县| 威海市| 米脂县| 宁陕县| 平潭县|