在實際工作中,通常需要ffmpeg作為工具來驗證一個問題,比如播放一個視頻,提取一個碼流,轉碼視頻,轉封格式等,用的時候才發現忘記了相關命令,google一番花老大的力氣才找到自己需要的命令行。本文總結常用的命令,并演示如何通過命令行的help用法去構建新的命令。
常用命令總結
一.采集命令
列出攝像頭設備
ffmpeg -list_devices true -f dshow -i dummy
列出某一個攝像頭的能力
ffmpeg -list_options true -f dshow -i video=“Integrated Camera”
指定格式播放某一個設備
ffplay -video_size 640x480 -pixel_format yuyv422 -framerate "30" -f dshow -i video="Integrated Camera"
錄屏命令
ffmpeg -y -f gdigrab -t 30 -r 25 -i desktop -vcodec libx264 -s 1280x720 test720.mp4
詳見:https://www.jianshu.com/p/601757bd053b
二.提取視頻或音頻裸流
ffmpeg.exe -i CCTV-2-dszg-1.mp4 -vn -y -acodec copy audio.aac //提取音頻
ffmpeg.exe -i CCTV-2-dszg-1.mp4 -an -y -acodec copy video.h264 //提取視頻
三.轉碼和轉封
ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x720 test_1280x720.ts
四.播放
播放編碼后或封裝后的數據
ffplay –x 800 –y 400 test.mp4 –autoexit
強制某個解碼器解碼
ffplay -vcodec h264_qsv -i test.h264
播放原始數據
查看格式
ffplay -pix_fmts
播放RGB
ffplay -x 800 -y 400 -pixel_format bgra -video_size 1366x768 -i rgb24_320x240.rgb
播放YUV
ffplay -x 800 -y 400 -pixel_format yuv420p -video_size 1366x768 -i capture.yuv
播放PCM
ffplay -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm
播放網絡流
ffplay –x 800 –y 400 url
五.提取原始數據
提取YUV
ffmpeg -i test_1280x720.mp4 -t 3 -pix_fmt yuv420p yuv420p_orig.yuv
提取RGB
ffmpeg -i test.mp4 -t 3 -pix_fmt rgb24 -s 320x240 rgb24_320x240.rgb
提取PCM
ffmpeg -i test.mp4 -t 10 -vn -ar 48000 -ac 2 -f f32le 48000_2_f32le_2.pcm
help 查詢
1基本的help查詢,可以重定向文件再查看
ffmpeg/ffplay/ffprobe –h
ffmpeg -h long
ffmpeg -h full
2.查看某一個類型的

ffmpeg可查看類型
查看支持編碼器
ffmpeg -codecs
查看所支持的復用器
ffmpeg -muxers等
3.查看具體類型所支持的參數
基本格式:ffmpeg -h type=xxx
舉例如下:
ffmpeg -h encoder=libx264
ffmpeg -h filter=atempo
后續在工作和學習中如遇到新的需求,該命令行會繼續擴充。
更多更詳細信息請關注公眾號:AV_Chat