前言全域性說明
FFmpeg命令轉碼引數詳解
一、引數
1.1 FFmpeg 常用引數
引數 | 說明 | 備註 |
---|---|---|
-i filename | 指定輸入檔案(或直接寫檔名,用| 豎線分割),在Linux下當然也能指定:0.0(螢幕錄製)或攝像頭。 | |
-c:v | 指定影片編碼器 copy、libx265 | |
-crf | 指定影片質量,範圍為0-51,0為無損,23為預設值,數值越小,質量越高,檔案越大 | |
-c:a | 指定音訊編碼器 | |
-f fmt | 設定輸出格式(音訊或者影片格式)。 | |
-y | 覆蓋已有檔案。 | |
-t duration | 指定時長。 | |
-fs limit_size | 設定檔案大小的上限。 | |
-ss time_off | 從指定的時間(單位為秒)開始,也支援[-]hh:mm:ss[.xxx]的格式。 | |
-re | 代表按照幀率傳送,尤其在作為推流工具的時候一定要加入該引數,否則ffmpeg會按照最高速率向流媒體伺服器不停地傳送資料。 | |
-map | 指定輸出檔案的流對映關係。如果沒有-map選項,則ffmpeg採用預設的對映關係。 例如:“-map 1:0-map 1:1”要求將第二個輸入檔案的第一個流和第二個流寫入輸出檔案。 |
|
1.2 FFmpeg 影片、影像引數
引數 | 說明 | 備註 |
---|---|---|
-bitexact | 使用標準位元率。 | |
-vb | 指定影片位元率(bits/s) | |
-r rate | 幀速率(fps) | |
-vframes | 設定要輸出的影片幀數 | |
-b:v | 設定影片位元速率 | 64k |
-bufsize | 64k | |
-s | 設定畫面的寬與高 | |
-vn | 不處理影片 | |
-aspect aspect | 設定橫縱比 4:3 16:9 或 1.3333 1.7777 | |
-vcodec | 設定影片編解碼器。copy表示原始編解碼資料必須被複製; libx265表示使用libx265編碼器 | |
-vf | 影片過濾器 | |
-c:v | copy、libx265 | |
qp | 量化比例為0~51。qp越大,壓縮越厲害,失真越嚴重,失去的資訊越多,畫面也就越模糊。 | |
1.3 FFmpeg 音訊引數
引數 | 說明 | 備註 |
---|---|---|
-aframes | 設定要輸出的音訊幀數 | |
-b:a | 音訊位元速率 | |
-ar | 設定取樣率 | |
-ac | 設定聲音的Channel數 | |
-acodec | 設定聲音編解碼器,如果用copy表示原始編解碼資料必須被複製。 | |
-an | 不處理音訊 | |
-af | 音訊過濾器 | |
-c:a aac | 指定音訊編碼器 | |
-b:a | 指定音訊位元率 | |
1.3 FFmpeg其他引數
引數 | 說明 | 備註 |
---|---|---|
-safe 0 | 防止Operation not permitted | |
-allowed_extensions ALL | ||
-protocol_whitelist "file,http,crypto,tcp" | ||
-strict experimental | ||
-preset | 指定編碼速度和質量的平衡,可選項有ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow | |
二、多個檔案時 -i 用法
2.1 多個影片檔案寫入到 txt 文字里
ffmpeg.exe -f concat -safe 0 -i file.txt -c copy out.mp4
2.2 多個影片檔案用 | 分割
ffmpeg -i "concat:34020000001310000701_live-16.ts|34020000001310000701_live-17.ts|" -c copy output.mp4
三、ffmpeg處理合併AES-128加密的ts檔案
1、下載好的m3u8檔案,放到同一個資料夾裡,它應該包括三個部分:
a、資料夾,裡面有很多的ts檔案。
b、一個m3u8檔案
c、一個key檔案,命名為"key.key"。完好的key檔案是16位元組。
接下來把m3u8檔案和key檔案複製到ts資料夾裡。
2、m3u8如下圖所示,需要將URI改為“key.key”,然後將分段影片ts命名改為與資料夾中影片命名一致
3、使用ffmpeg命令:將檔案合併為output.mp4
ffmpeg -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -i index.m3u8 -c copy output.mp4
四、
免責宣告:本號所涉及內容僅供安全研究與教學使用,如出現其他風險,後果自負。
參考、來源:
http://www.manongjc.com/detail/23-xyrsjrgxjrqcmxi.html
https://www.bilibili.com/read/cv28266664/ 作者:人生是一場苦修 出處:bilibili
https://www.cnblogs.com/yiduobaozhiblog1/p/16252450.html
https://blog.csdn.net/fanyun_01/article/details/103299866
https://blog.csdn.net/huayizaisheng/article/details/118545623
https://blog.csdn.net/weixin_45736829/article/details/108427922
https://ffmpeg.org/ffmpeg-codecs.html
https://www.bookstack.cn/read/other-doc-cn-ffmpeg/ffmpeg-doc-cn-02.md