2023-02-10 ffmpeg、ffplay 常用命令參數說明

ffmpeg:Hyper fast Audio and Video encoder(超快音視頻編碼器)

ffplay:Simple media player (簡單媒體播放器)

ffprobe:Simple multimedia streams analyzer(簡單多媒體流分析器)

ffmpeg基本信息及使用

?ffmpeg查看幫助文檔:

基本信息:ffmpeg -h

高級信息:ffmpeg -h long

所有信息:ffmpeg -h full

輸出信息到文件ffmpeg_h_full.log查看: ffmepg -h full > ffmpeg_h_full.log

查看具體分類所支持的參數 ffmepg -h type=name

比如

ffmpeg -h muxer=flv

ffmpeg -h filter=atempo (atempo調整音頻播放速率)

ffmpeg -h encoder=libx264

ffmpeg命令分類查詢

-version 顯示版本

-bsfs 顯示可用比特流filter

-buildconf 顯示編譯配置

-protocols 顯示可用的協議

-formats 顯示可用格式 (muxers+demuxers)

-filters 顯示可用的過濾器

-pix_fmts 顯示可用的像素格式

-muxers 顯示可用復用器

-demuxers 顯示可用解復用器

-layouts 顯示標準聲道名稱

-sample_fmts 顯示可用的音頻采樣格式

-codecs 顯示可用編解碼器 (decoders+encoders)

-decoders 顯示可用解碼器

-encoders 顯示可用編碼器

-colors 顯示可用的顏色名稱

ffmpeg基本使用案例:修改視頻編碼格式和分辨率

ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x720 test_1280x720.flv

ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx265 -s 1280x720 test_1280x720.mkv

ffplay播放器控制

q, ESC退出播放

t 循環切換字幕流

f 全屏切換

c 循環切換節目

p, SPC 暫停

w 循環切換過濾器或顯示模式

m 靜音切換

s 逐幀播放

9, 0 9減少音量,0增加音量

left/right 向后/向前拖動10秒

down/up 向后/向前拖動1分鐘

a 循環切換音頻流

鼠標右鍵單擊:拖動與顯示寬度對應百分比的文件進行播放

鼠標左鍵雙擊:全屏切換

v 循環切換視頻流

ffplay命令選項

-x width 強制顯示寬度。

-y height 強制顯示高度。

-pixel_format format 格式設置像素格式。?

-video_size size幀尺寸 設置顯示幀存儲(WxH格式),僅適用于類似原始YUV等沒有包含幀大小(WxH)的視頻。

比如: ffplay -pixel_format yuv420p -video_size 320x240 -framerate 5 yuv420p_320x240.yuv

-fs 以全屏模式啟動。

-an 禁用音頻(不播放聲音)

-vn 禁用視頻(不播放視頻)

-sn 禁用字幕(不顯示字幕)

-ss pos 定位到某個時間點播放,注意時間單位:比如'55' 55seconds, '12:03:45' ,12 hours, 03 minutes and 45 seconds, '23.189' 23.189second

-t duration 設置播放視頻/音頻長度,時間單位如 -ss選項

-bytes 按字節進行定位拖動(0=off 1=on -1=auto)。

-seek_interval interval 自定義左/右鍵定位拖動間隔(以秒為單位),默認值為10秒(代碼沒有看到實現)

-nodisp 關閉圖形化顯示窗口,視頻將不顯示

-noborder 無邊框窗口

-volume vol 設置起始音量。音量范圍[0 ~100]

-f fmt 強制使用設置的格式進行解析。比如-f s16le

-window_title title 設置窗口標題(默認為輸入文件名)

-loop number設置播放循環次數

-showmode mode 設置顯示模式,可用的模式值:0 顯示視頻,1 顯示音頻波形,2 顯示音頻頻譜。缺省為0,如果視頻不存在則自動選擇2

-vf filtergraph 設置視頻濾鏡

-af filtergraph 設置音頻濾鏡

-stats 打印多個回放統計信息,包括顯示流持續時間,編解碼器參數,流中的當前位置,以及音頻/視頻同步差值。默認情況下處于啟用狀態,要顯式禁用它則需要指定-nostats。。

-fast 非標準化規范的多媒體兼容優化。

-genpts 生成pts。

-sync type 同步類型 將主時鐘設置為audio(type=audio),video(type=video)或external(type=ext),默認是audio為主時鐘。

-ast audio_stream_specifier 指定音頻流索引,比如-ast 3,播放流索引為3的音頻流

-vst video_stream_specifier指定視頻流索引,比如-vst 4,播放流索引為4的視頻流

-sst subtitle_stream_specifier 指定字幕流索引,比如-sst 5,播放流索引為5的字幕流

-autoexit 視頻播放完畢后退出

-exitonkeydown 鍵盤按下任何鍵退出播放

-exitonmousedown 鼠標按下任何鍵退出播放

-codec:media_specifier codec_name 強制使用設置的多媒體解碼器,media_specifier可用值為a(音頻), v(視頻)和s字幕。比如-codec:v h264_qsv 強制視頻采用h264_qsv解碼

-acodec codec_name 強制使用設置的音頻解碼器進行音頻解碼

-vcodec codec_name 強制使用設置的視頻解碼器進行視頻解碼

-scodec codec_name 強制使用設置的字幕解碼器進行字幕解碼

-autorotate 根據文件元數據自動旋轉視頻。值為0或1 ,默認為1。

-framedrop 如果視頻不同步則丟棄視頻幀。當主時鐘非視頻時鐘時默認開啟。若需禁用則使用 -noframedrop

-infbuf 不限制輸入緩沖區大小。盡可能快地從輸入中讀取盡可能多的數據。播放實時流時默認啟用,如果未及時讀取數據,則可能會丟棄數據。此選項將不限制緩沖區的大小。若需禁用則使用-noinfbufffplay命

ffplay簡單過濾器

視頻旋轉

ffplay -i test.mp4 -vf transpose=1

視頻反轉

ffplay test.mp4 -vf hflip

ffplay test.mp4 -vf vflip

視頻旋轉和反轉

ffplay test.mp4 -vf hflip,transpose=1

音頻變速播放

ffplay -i test.mp4 -af atempo=2

視頻變速播放

ffplay -i test.mp4 -vf setpts=PTS/2

音視頻同時變速

ffplay -i test.mp4 -vf setpts=PTS/2 -af atempo=2

ffmpeg 命令參數說明

主要參數:

? -i 設定輸入流

? -f 設定輸出格式(format)

? -ss 開始時間

? -t 時間長度

音頻參數:

? -aframes 設置要輸出的音頻幀數

? -b:a 音頻碼率

? -ar 設定采樣率

? -ac 設定聲音的Channel數

? -acodec 設定聲音編解碼器,如果用copy表示原始編解碼數據必須被拷貝。

? -an 不處理音頻

? -af 音頻過濾器

視頻參數:

? -vframes 設置要輸出的視頻幀數

? -b 設定視頻碼率

? -b:v 視頻碼率

? -r 設定幀速率

? -s 設定畫面的寬與高

? -vn 不處理視頻

? -aspect aspect 設置橫縱比 4:3 16:9 或 1.3333 1.7777

? -vcodec 設定視頻編解碼器,如果用copy表示原始編解碼數據必須被拷貝。

? -vf 視頻過濾器

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • FFMPEG是特別強大的專門用于處理音視頻的開源庫。你既可以使用它的API對音視頻進行處理,也可以使用它提供的工具...
    小村醫閱讀 3,955評論 0 3
  • 編譯舊版本的FFmpeg源代碼,如果系統中包含SDL-1.2版本,會生成ffplay,如果不包含就無法生成ffpl...
    書文換酒錢閱讀 16,164評論 0 3
  • FFMPEG常用命令 前言 [FFMPEG]是特別強大的專門用于處理音視頻的開源庫。你既可以使用它的API對音視頻...
    JavaCodexPro閱讀 631評論 0 0
  • 前言 FFMPEG是特別強大的專門用于處理音視頻的開源庫。你既可以使用它的API對音視頻進行處理,也可以使用它提供...
    Peter杰閱讀 1,386評論 0 1
  • FFmpeg常用命令主要分以下八類:1.基本信息查詢2.錄制命令3.分解及復用4.處理原始數據5.濾鏡相關6.剪裁...
    andev009閱讀 482評論 0 0