ffmpeg常用命令集锦

2022-06-14 08:54:37 浏览数 (1)

     在实际工作中,通常需要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  -codecs

查看所支持的复用器

ffmpeg  -muxers等

3.查看具体类型所支持的参数

基本格式:ffmpeg -h type=xxx

举例如下:

ffmpeg -h encoder=libx264

ffmpeg -h filter=atempo

后续在工作和学习中如遇到新的需求,该命令行会继续扩充。

0 人点赞