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

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

(二)如何理解ffmpeg的命令行,-i與-c參數(shù)介紹,高效轉(zhuǎn)碼的一些實用知識

2020-01-21 21:08 作者:思思陸思思  | 我要投稿

往期回顧,第一期啟蒙篇:(有不懂的都可以在動態(tài)評論問我,私信up不容易看見)

按上期的命令行轉(zhuǎn)碼成功的小伙伴可能會覺得很驚訝,為什么這么快就能轉(zhuǎn)碼完?而且質(zhì)量也非常好,似乎沒有任何損失。上次我也說了其實一些轉(zhuǎn)碼軟件都可以做到這樣的,所以這一期up會通俗地來解釋說明。


但在這之前,up先說明一下上次用到的ffmpeg的兩個參數(shù),以及ffmpeg命令行的基本邏輯。

就是說,“ffmpeg -i”和“-c copy”這兩個東東是啥意思?ffmpeg的命令行怎么寫?一條命令行怎么去理解它整個或者每一部分是什么意思?



一、-i與-c參數(shù)的介紹、如何理解命令行

-i

這里先說一點可能一開始會誤解的地方,是“-i”,而不是“ffmpeg -i”。雖然一般來說“ffmpeg”是絕大部分時候ffmpeg命令行的開頭,命令行也經(jīng)常以“ffmpeg -i”的樣子開頭,但它不是后面一定要接上“-i”的(這個例子以后再說)。


“-i”,簡單理解就是“input,輸入”的意思,我要輸入什么文件給ffmpeg,從而讓ffmpeg有個準備去做什么。比如說“ffmpeg -i .\input1.mp4”、“-i .\剛下載的音樂.mp3”、“-i .\做視頻的素材要轉(zhuǎn)碼.mkv”……視頻、音頻、甚至jpg、gif等格式的圖像都可以這么輸入進ffmpeg處理。


有輸入了,那輸出呢?請看下面這個只有輸入和輸出的命令行:(注意命令行里是有空格的?。。?/span>

ffmpeg -i?C:\input.mp4?C:\output.mp4

最后的“.\output.mp4”就是輸出的文件。注意這個命令行是沒有任何我們自己的處理的,這樣的話,ffmpeg會以自己的默認方法來重新渲染!(雖說對于觀看一般也還行,以后再另說)


所以,一般我們用ffmpeg是以“輸入→處理→輸出”的流程來理解,來寫命令行的。像這樣:

ffmpeg -i .\input.mp4?-c copy .\output.mp4

“-c copy”就是指我們給ffmpeg的“處理”這一步。ffmpeg有許許多多用來做“處理”的參數(shù)等,以后慢慢道來,敬請關(guān)注。


-c

“-c”,是“codec,編解碼器”的意思,告訴ffmpeg接下來要用什么編碼器、解碼器。打個歪比方,做一道菜,寫好菜譜給人看就像編碼,按菜譜做好菜就像解碼。簡單來說,對于音視頻圖像,編碼就是,它們要以什么規(guī)則呈現(xiàn),以便我們存儲傳送等操作;解碼就是,它們要按什么規(guī)則來解讀,以便我們最終播放。平時說的“導出視頻”、“渲染視頻”通常就是指“編碼”這一過程。


之前一直提到的“-c copy”是“-c”參數(shù)的一種很經(jīng)常的用法,顧名思義,復制照抄輸入文件原來的編解碼器所做的事。那ffmpeg舒服了,不用自己再來做編解碼什么的。所以,這就是為什么轉(zhuǎn)碼可以這么快的原因。咱能多快好省啊,何必吶。


那就是說,只要在小丸工具箱、格式工廠等其它軟件也做到這點就行,照樣很快轉(zhuǎn)碼。這兩個軟件的下載安裝up不多說了,搜索一下吧。


小丸的轉(zhuǎn)碼做法如下:

很多人尤其小白一開始以為是在“視頻”那里轉(zhuǎn)碼,

那里是一般壓制用的(以后也許會再說)

轉(zhuǎn)碼是在“封裝”這里,如下圖

一樣地單擊按住鼠標,把文件拖進去,或者按“添加”

輸出格式有幾種常見的主流格式,按需選擇

(例如up現(xiàn)在想把mp4轉(zhuǎn)碼成flv)

aac編碼器建議選libfdk_aac

(選另一個aac也行,只是建議用更先進的而已)

最后點擊“封裝”,會彈出旁邊這個命令提示符窗口,很快轉(zhuǎn)碼完了

像這樣,轉(zhuǎn)碼完的文件默認和待轉(zhuǎn)碼文件一個地方


接著是格式工廠的轉(zhuǎn)碼做法:

比如現(xiàn)在想把flv轉(zhuǎn)碼成mp4,就點擊紅圈的這個“mp4”,其它類推不多說了

最關(guān)鍵的是,視頻和音頻這兩個編碼都要選copy

其它直接默認,根本不要改

點擊“確定”,再點“開始”

幾乎瞬間就轉(zhuǎn)碼完了,質(zhì)量完全ok的

(如果不是這樣的話,把全文看完了再問我吧)


最后說一點,在以前的ffmpeg里,“-c copy”是以“-vcodec copy -acodec copy”這種形式表示的。現(xiàn)在的ffmpeg不存在這個問題了,而且這兩種都可以用。



二、如何高效轉(zhuǎn)碼:編碼格式、容器格式的知識

生活總是有些小插曲,教程也是。up先介紹一個特別實用的命令行:

ffprobe .\input.mp4

用于查看文件的詳細信息,比如說一個視頻的編碼格式。簡單理解,“編碼器”就是用來做什么的工具,“編碼格式”就是約定俗成的什么規(guī)則。一個視頻,它有畫面和聲音,我們就是想去知道它的畫面是以什么規(guī)則呈現(xiàn)的,聲音又是以什么另外的規(guī)則去呈現(xiàn)。


下面進入正題。(這一節(jié)狹窄來說和ffmpeg沒啥關(guān)系,算是背景知識。如果明白編碼格式與容器格式的意思和區(qū)別的朋友可以直接一鍵三連到這已經(jīng)算看完啦,感謝?。?/p>


up這里有一個在b站客戶端下載的視頻:

可以看到,這個是blv格式的視頻,畫面的編碼格式是h264,聲音的編碼格式是aac

(還有許多其它的信息,以后會慢慢說明)

現(xiàn)在我們先知道一點:mp4格式的畫面、聲音編碼格式也是h264、aac

那就容易想到,我們可以直接用上一期的轉(zhuǎn)碼命令行

把blv轉(zhuǎn)碼成mp4,實現(xiàn)這種高效超快的轉(zhuǎn)碼

可能有人會想問,最高效的轉(zhuǎn)碼難道不是直接改文件名嗎?比如我有個視頻“input.flv”,直接把它后綴改成“.mp4”不就行了嗎,照樣能播放啊。

播放是能播放,但是這里不是因為“轉(zhuǎn)碼成功了”,而是因為你的播放器是真的強大,它的“菜譜”實在是多,轉(zhuǎn)不轉(zhuǎn)碼它都能拿來做好菜,成功播放。例如up在用的potplayer,還有其它像暴風影音、kmplayer、vlc media player等(up沒試過這些,就懶得試了明白道理就行)

但有些播放器比如Windows 10自帶的“電影與電視”就不能播放flv,直接改后綴沒用的。如果就是要播放flv視頻,要不就給它外加更多的編解碼器“菜譜”,要不就選用其它的播放器。


所以有一個疑問:按之前的道理,那么flv和mp4這兩個視頻格式,編解碼照著copy轉(zhuǎn)碼成功了,畫面和聲音都應(yīng)該是一樣的編碼格式吧?欸,確實如此(僅這個例子來說,下期再做說明)。那為什么有的播放器能播放mp4又不能播放flv?

這里就是我們所說的“編碼格式”和“容器格式”的概念和區(qū)別了。之前說編解碼,我們看著菜譜做得一手好菜,那這菜還得拿東西盛著不是?這個用來盛放的東西就是“容器”,而“容器”又有它們各自不同的樣子。


因此,“容器格式”簡單來說,就是什么樣子的“容器”。比如mp4、flv、mkv、avi……它們又叫“封裝格式”,這就是我們平常說的“視頻格式”、“視頻是什么格式”。(其實一開始明白這個的話在小丸那里我們就知道怎么轉(zhuǎn)碼了)

可規(guī)則是,一樣的容器它可以裝不同的菜,一樣的菜也可以盛在不同的容器里。

所以說,所謂“高效轉(zhuǎn)碼”就是利用了編碼格式相同而容器格式又不同這一點,轉(zhuǎn)換的只是容器格式。

那有沒有什么規(guī)則給我們參考,哪些容器格式可以允許我們做“高效轉(zhuǎn)碼”?如果不允許,我們又該怎么去轉(zhuǎn)換編碼格式呢?且看下期分解。



感謝你觀看到這里。

(二)如何理解ffmpeg的命令行,-i與-c參數(shù)介紹,高效轉(zhuǎn)碼的一些實用知識的評論 (共 條)

分享到微博請遵守國家法律
浠水县| 黑河市| 龙胜| 休宁县| 长寿区| 湖北省| 远安县| 色达县| 禄丰县| 离岛区| 板桥市| 怀集县| 江都市| 靖江市| 绥江县| 峡江县| 周宁县| 金山区| 阿拉善右旗| 玉溪市| 漳州市| 绥化市| 密云县| 东阿县| 资中县| 通渭县| 辽阳县| 河北省| 宜丰县| 芷江| 永吉县| 鹤峰县| 白银市| 喀喇沁旗| 陇川县| 苏尼特右旗| 望奎县| 甘肃省| 界首市| 策勒县| 河北省|