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

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

FFmpeg——從完全不懂,到輕松入門

2023-04-09 04:43 作者:op200_Reek  | 我要投稿

目錄

-前言

-安裝與環(huán)境配置

????--下載

????--語法與環(huán)境配置

-FFmpeg基本命令

????--輸入與流信息查看

????--輸出

????--語句順序與流過濾

????--編碼器的查看與設(shè)定


前言

本人才疏學(xué)淺,文章內(nèi)可能有錯(cuò)誤的或不恰當(dāng)?shù)牡胤剑瑲g迎各位大佬指正。

寫本文的原因,是因?yàn)槲野l(fā)現(xiàn)網(wǎng)上難以找到合適的FFmepg教學(xué),而我自身的相關(guān)知識(shí)大部分都從一位網(wǎng)友那里學(xué)來的。所以作此文,為了讓大家超快速地上手FFmpeg。

如果你現(xiàn)在還不具備視頻的相關(guān)知識(shí),需要先看我的這篇文章視頻、音頻、字幕…基礎(chǔ)知識(shí),從完全不懂,到輕松入門。我不會(huì)在下文中詳說重復(fù)的知識(shí)。

因?yàn)镕Fmpeg的內(nèi)容及其之多,我只能寫下我會(huì)的那點(diǎn)皮毛,這點(diǎn)皮毛知識(shí)應(yīng)該能讓完全不懂的朋友完成自己想做的事。


安裝與環(huán)境配置

下載

這是FFmpeg的官網(wǎng)下載地址

ffmpeg.org/download.html#build-windows

選擇你的系統(tǒng)

下載網(wǎng)站有兩個(gè),隨便找一個(gè)下載都可以

這里只介紹Windows下的情況

推薦git-full或者gpl-shared

下載完后解壓(別告訴我你不會(huì)解壓)

解壓后的那個(gè)文件夾需要放在一個(gè)固定的位置,放好后就不要再動(dòng)它了。所以建議直接放C盤根目錄。

語法與環(huán)境配置

首先你需要認(rèn)識(shí)一下語法:

字符串需要用半角雙引號(hào)框起來,就像這樣——"路徑"。這是為了防止字符串里有特殊字符影響程序,比如空格;這些特殊字符會(huì)導(dǎo)致程序識(shí)別到的字符串與你想輸入的不一樣。

全局變量使用百分號(hào)框起來,就像這樣——%變量%。

Windows有很多默認(rèn)的環(huán)境變量,比如%windir%=C:\Windows。

打開ffmpeg的方式,就是直接用cmd啟動(dòng)。

cmd是Windows自帶的一個(gè)命令行工具,這個(gè)程序在"%windir%\system32\cmd.exe",所以每次打開它非常得麻煩,這時(shí)候要么在桌面創(chuàng)建一個(gè)快捷方式,要么win+r打開程序——運(yùn)行,用這個(gè)程序運(yùn)行cmd。


這個(gè)程序的用法,已經(jīng)寫在它的臉上了,你不可能不會(huì)用。

在cmd里輸入ffmpeg的路徑,就可以使用ffmpeg了。

比如我的ffmpeg.exe在這里,輸入它的路徑名即可。


如果用“運(yùn)行”打開程序,就必須輸入程序的路徑,比如我想運(yùn)行C盤根目錄下的"游戲.exe",我就要輸入"C:\游戲.exe"。但如果我想打開cmd,卻只用輸入cmd即可,這是為何?

因?yàn)檫@里輸入cmd,其實(shí)相當(dāng)于把環(huán)境變量%path%下的所有路徑里叫cmd的文件全部打開了一遍,而%path%的值里默認(rèn)有"%windir%\system32",所以直接輸入cmd就能找到"%windir%\system32\cmd.exe"。

這時(shí)候聰明的你一定想到了,如果給%path%添加一個(gè)ffmpeg所在路徑的值,不就可以直接調(diào)用ffmpeg了嗎?

按圖中順序點(diǎn)擊,給%path%添加bin那個(gè)文件夾的路徑即可。

然后就可以直接在cmd里輸入ffmpeg來調(diào)用ffmpeg.exe了。

FFmpeg基本命令

[ffmpeg -h]可以看到幫助文檔。

官網(wǎng)文檔地址:http://ffmpeg.org/documentation.html

輸入與流信息查看

使用ffmpeg編解碼視頻,首先要有輸入源,使用命令[-i "路徑名"]即可輸入文件。

????eg:ffmpeg -i "C:\好康的.mp4" -i "D:\學(xué)習(xí)資料\123.avi"

當(dāng)只有輸入的時(shí)候,回車運(yùn)行,將看到該文件的信息。

????eg:

這時(shí)候我們能看到的最重要的信息,就是流信息。

Stream?#n:m——n是輸入文件的序號(hào),第一個(gè)文件就是0,m是該文件的流序號(hào),比如上圖中的0:3就是個(gè)字幕流。

Video、Audio、Subtitle是什么意思不用我多說,Attachment是附件,比如mkv里可以塞入字體附件,圖中0:4就是一個(gè)字體流。

輸出

輸出很簡(jiǎn)單,輸入后,寫上輸出的路徑名,就可以輸出。

????eg:ffmpeg 輸入1的參數(shù)?-i "輸入1" 出1的參數(shù)?"輸出1" 輸出2的參數(shù)?"輸出2"

????tip:輸出的文件需要給后綴,ffmpeg會(huì)通過后綴判斷封裝甚至編碼器,比如.gif。

語句順序與流過濾

每個(gè)文件前面的參數(shù),是控制該文件的參數(shù)。例如

ffmpeg -ss 20:00 -t 120 -i "C:\1.mp4" -ss 1:20 -t 10 "D:\2.mp4"

意思是,先從1的20:00開始截取120s,然后從這120s中的第80s開始截取10s,把這10s輸出為2。

這時(shí)候你會(huì)發(fā)現(xiàn),如果原視頻有多個(gè)音頻+多個(gè)字幕,輸出后就只剩一個(gè)了,因?yàn)閒fmpeg默認(rèn)只輸出每種流的第一個(gè)流,且不輸出附件流。這時(shí)候只需要

ffmpeg -ss 20:00 -t?120?-i "C:\1.mp4" -map 0 -ss 1:20 -t 10 "D:\2.mp4"

就可以輸出全部的流了。

[-map]命令可以過濾輸出的流,比如[-map 0:1]就是只輸出第一個(gè)輸入文件的第二個(gè)流,[-map 0]就是輸出第一個(gè)文件的全部流。輸出到哪?當(dāng)然是到后面跟著的那個(gè)"輸出"。

編碼器的查看與設(shè)定

ffmpeg里有非常多的編碼器。如果你想知道有哪些,只需要

ffmpeg -encoders

如果你想查看單個(gè)編碼器的參數(shù),只需要

ffmpeg -h encoder=編碼器名

????eg:[ffmpeg -h encoder=libx264]即可查看x264編碼器參數(shù)。

確定了要使用的編碼器之后,在輸出端指定編碼器即可。

指定編碼器的命令為[-c:流類型簡(jiǎn)寫?編碼器名]或者[-流類型簡(jiǎn)寫codec?編碼器名]

????eg:ffmpeg?-i "C:\1.mp4" -c:v libx265?-acodec flac "D:\2.mp4"

? ??eg:ffmpeg?-i?"M:\3.mp4"?-c:a aac?-vcodec libsvtAV1 "N:\4.mp4"

光指定編碼器肯定是不夠的,還需要給編碼器一些必要的參數(shù)。

參數(shù)放置的位置緊跟在指定編碼器的命令后即可。

????eg:ffmpeg?-i "C:\1.mp4" -c:v libx265 -preset 3?-qp 24?-c:a?aac -aac_coder 0 "D:\2.mp4"

當(dāng)然,ffmpeg的通用參數(shù)也是不能忽略的,如

????[-b:流類型簡(jiǎn)寫]設(shè)置該流的目標(biāo)碼率

????[-q:a]設(shè)置音頻質(zhì)量(僅VBR可用)

等等非常之多,建議大家參考上文中提到的官方文檔,并在遇到需求時(shí)逐一查找,善用搜索引擎,以達(dá)到高學(xué)習(xí)效率。

FFmpeg——從完全不懂,到輕松入門的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
沧源| 始兴县| 乃东县| 伽师县| 开阳县| 永兴县| 南皮县| 宁安市| 广汉市| 祁连县| 海晏县| 札达县| 新安县| 郴州市| 收藏| 林口县| 西峡县| 遂平县| 玉田县| 滦南县| 万宁市| 张家界市| 康马县| 通化市| 云梦县| 来安县| 苍溪县| 务川| 佛山市| 博野县| 襄城县| 平昌县| 高陵县| 西安市| 仙游县| 山东省| 宝鸡市| 会宁县| 平安县| 长葛市| 建平县|