序#
最近發現了並使用了 FFmpeg 發現他十分的強大,能做到各種音視頻操作,有的軟件也是引用的 FFmpeg 主要是他是免費開源不需要授權的工具,這裡就簡單做一下 FFmpeg 常見的幾個命令筆記,幫助小白讀者輕鬆轉換編碼自己的視頻!這裡大部分內容都是參考網絡上有的內容以標記引用源。
來一起玩一下吧 ฅ՞・ﻌ・՞ฅ
安裝 FFmpeg#
Windows#
因為 FFmpeg 只提供源碼需要編譯,但有大神編譯好的 FFmepg 可以直接使用倉庫中的發行版
https://github.com/BtbN/FFmpeg-Builds/releases
Ubuntu#
概覽#
容器格式#
我們常見的視頻文件格式本身其實就是一個容器,容器裡面再包括視頻軌道、音頻軌道、元數據、字幕、標題、封面等等……
常見的視頻容器格式有包括這些
- MP4 (MPEG 4)
- MKV (Matroska)
- WebM
- AVI (ASF)
- MOV (QuickTime)
TOP: WebM 就是最近大火的 AV1、VP9、VP8 常用的容器,編解碼需要特定的硬件加速
例如 AIN 22 年新品都支持 AV1 編解碼硬件加速
編碼#
常見的幾種編碼;包括了授權編碼、無版權編碼、音頻編碼格式
授權編碼
- H.262
- H.264
- H.265
無版權編碼
- VP8
- VP9
- AV1
音頻編碼格式
- MP3
- AAC
視頻編碼器
libx264: 最流行的開源 H.264 編碼器NVENC: 基於 NVIDIA GPU 的 H.264 編碼器libx265: 開源的 HEVC 編碼器libvpx: 谷歌的 VP8 和 VP9 編碼器libaom: AV1 編碼器
音頻編碼器
- libfdk-aac
- aac
查看 FFmpeg 已安裝的編碼器
ffmpeg -encoders
使用方式#
[1] 全局參數
[2] 輸入文件參數
[3] 輸入文件
[4] 輸出文件參數
[5] 輸出文件
參數#
-c: 指定編碼器-c copy: 直接複製不經過重新編碼,更快-c:v: 指定視頻編碼器-c:a: 指定音頻編碼器-i: 指定輸入文件-an: 去除音頻流-vn: 去除視頻流-preset: 視頻編碼質量ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow-y: 不經過確認,輸出時直接覆蓋同名文件
更多:https://zh.m.wikipedia.org/zh-hans/FFmpeg
文件信息#
轉格式#
-i 輸入文件
-c copy 直接複製不轉碼速度更快
轉碼#
-i 輸入文件
-c 轉換編碼器
剪片#
-ss 開始時間
-t 截取到時間
-i 輸入文件
码率#
本篇章過於專業,需要更深度的了解!這裡只演示最簡單的編碼方式,不包括壓片配置。
ABR (VBR) 二次編碼#
CBR 恒定碼率#
-i 輸入文件
-b 視頻碼率
-minrate 允許最小碼率
-maxrate 允許最大碼率
-bufsize 碼率控制緩衝器
大小#
-i 輸入文件
-fs 控制文件大小
分辨率#
-i 輸入文件
[保持長寬比 -1]
FPS#
-i 輸入文件
-r 幀率值
提取音頻#
-i 輸入文件
-f 輸出格式
-vn 不包含視頻
-aq 0 壓縮質量
-acodec 設定聲音編解碼器
分離音視頻#
分離視頻
分離 acc 格式
直接提取音頻
音視頻合併#
-i 輸入文件
-c 視頻編碼方式
壓縮音頻#
-i 輸入文件
-b 碼率
-ar 采樣率
截圖#
指定時間截圖
從頭開始抽幀截圖
-i 輸入文件
-r 幾秒一幀
-q 圖像質量
-f 輸出格式
封面#
視頻封面
音頻封面
引用:
FFmpeg 視頻處理入門教程
碼率控制(一):理解碼率控制模式(x264,x264,vpx)
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://www.miaoer.net/posts/blog/ffmpeg