博客列表 >ffmpeg命令大全

ffmpeg命令大全

Y的博客
Y的博客原创
2023年01月18日 20:18:12712浏览
学习音视频处理,ffmpeg的常用命令行指令是必须掌握的。通过这些指令可以实现各种各样的音视频基本操作。这里对ffmpeg的常用命令进行了汇总,供大家参考。需要注意的是,指令在不同平台上的使用方式略有差异,注意区分。

指令用到的windows ffmpeg工具下载地址如下:
链接:https://pan.baidu.com/s/1OE2o9WOZJmT0x1r8G2laBA?pwd=jv4l
提取码:jv4l

基本信息查询命令

//MAC/Linux/Windows都可以用-version      显示版本‐demuxers     显示可用的demuxers-muxers       显示可用的muxers-devices      显示可用的设备-codecs       显示所有编解码器-decoders     显示可用的解码器‐encoders     显示所有的编码器-formats      显示可用的格式‐protocols    显示可用的协议-filters      显示可用的过滤器-pix_fmts     显示可用的像素格式-sample_fmts  显示可用的采样格式-layouts      显示channel名称-colors       显示识别的颜色名称-bsfs         显示比特流filter

音视频录制命令

window平台下的命令

//Windos平台下的使用方法//windows下不能使用avfoundation来执行操作//需要使用dshow来操作 dshow需要提前安装,下载地址如下://链接:https://pan.baidu.com/s/1vwtHNjYS23jrLOUC4zGh-Q//提取码:2y9m//查看支持的设备列表信息ffmpeg -list_devices true -f dshow -i dummy//录制桌面视频ffmpeg -f dshow -i video="screen-capture-recorder" screen_capture.mp4ffplay screen_capture.mp4//这里发现一个问题,直接用windows自带播放器播放会出现播放失败问题//用ffplay播放正常,可能是编码格式的问题//录制音频(设备列表可以通过指令查询)ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" audio-out.aacffplay audio-out.aac//同时录制音视频ffmpeg -f dshow -i video="screen-capture-recorder":audio="麦克风 (Realtek(R) Audio)" full-out.mp4ffplay full-out.mp4//这里采用windows自带的播放器也会播放失败//查看视频/音频录制支持的参数列表ffmpeg -f dshow -list_options true -i video="screen-capture-recorder"ffmpeg -f dshow -list_options true -i audio="麦克风 (Realtek(R) Audio)"//指定具体的视频录制参数ffmpeg -f dshow -video_size 1920x1080 -framerate 30 -pixel_format yuv420p -ivideo="screen-capture-recorder" output.mp4-f dshow 使用dshow录制-video_size 采用的分辨率是1920x1080-framerate 30 采用的帧率是30-pixel_format yuv420p 像素格式为yuv420p-i video="screen-capture-recorder"指定录制设备

Linux平台下的指令

//首先安装x11grab,安装方法自行检索//录制视频ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0,0.0 output.mp4-video_size 1920x1080 分辨率是1920*1080-framerate 25 帧率是25-i 0.0,0.0从屏幕左上角开始录制ffplay output.mp4//同时录制音频和视频ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0,0.0 -f pulse -ac 2 -i default output.mkv-f pulse 使用pulse录制音频//还可以指定alsa 录制音频ffplay output.mkv

Mac平台下的指令

//MAC平台下的使用方法//avfoundation是MAC下的采集源,windows下不可以使用//录制屏幕ffmpeg -f avfoundation -i 1 -r 30 raw_output.yuv    -f avfoundation:指定使用avfoundation采集数据源-i:指定从哪儿采集数据 索引1代表着屏幕-r:指定录制的帧率raw_output.yuv 指定原始数据输出的文件名称//原始数据必须指定数据格式才能播放ffplay -s 1920*1080 -pix_fmt uyvy422 raw_output.yuv-s:指定分辨率是1920*1080-pix_fmt:指定数据格式为uyvy422raw_output.yuv:输入数据的文件名称//查询支持的设置列表ffmpeg -f avfoundtaion -list_devices true -i ""//录制音频ffmpeg -f avfoundation -i :0 out_audio.wav-i :0 指定录制的音频输入设备out_audio.wav :指定输出的音频文件名称//播放音频ffplay out_audio.wav提取音视频命令//多媒体格式转换ffmpeg -i input.mp4 -vcodec copy -acodec copy output.flv-i:输入文件-vcodec copy:视频编码处理方式-acodec copy:音频编码处理方式//抽取视频信息ffmpeg -i input.mp4  -an -vcodec copy output.h264ffplay out.h264//抽取音频信息ffmpeg -i input.mp4 -acodec copy -vn output.aacffplay out.aac提取音视频原始数据命令123456789101112131415161718192021222324252627282930313233343536//提取YUV数据ffmpeg -i input.mp4 -an -c:v rawvideo -pix_fmt yuv420p output.yuv-i 指定文件-an 不处理音频-c:v 指定编码方式 rawvideo-pix_fmt 指定像素格式 yuv420p//指定分辨率播放原始数据ffplay -s 638x358 out.yuv//提取PCM音频数据ffmpeg -i input.mp4 -vn -ar 44100 -ac2 -f s16le output.pcm-i   指定文件-vn  不要视频-ar 44100  指定音频采样率-ac2 双声道-f  指定音频数据的存储格式为s16le signed 16bit littleendile//播放音频ffplay -ar 44100 -ac 2 -f s16le out.pcm视频裁剪/合并命令//裁剪视频ffmpeg -i input.mp4 -ss 00:00:00 -t 10 output.ts-i  输入文件-ss 开始时间-t  裁剪时长//拼接视频ffmpeg -f concat -i inputs.txt out.flv-f concat 指定拼接模式-i 指定拼接文件 inputs.txt存储文件列表out.flv 指定输出结果inputs.txt 内容为 'file filename' 格式//file '1.ts'//file '2.ts'

图片/视频互转命令

//视频转图片ffmpeg -i input.flv -r 1 -f image2 image-%4d.jpeg-i 指定文件-r 指定转出图片的帧率-f 将输入文件转成什么格式的image-%4d.jepg(%4d四个数字)//图片转视频ffmpeg -i image-%4d.jpeg  output.mp4

推流/拉流命令

//直播推流ffmpeg -re -i output.mp4 -c copy -f flv rtmp://server/live/streamName-re 保持帧率-i out.mp4 指定文件-a 音频 -v 视频 -c 音视频-f 推出的格式为 flv//直播拉流ffmpeg -i rtmp://server/live/streamName -c copy dump.flv-i 指定流地址-c copy 音视频流直接拷贝不编码dump.flv 指定本地文件//拉取的什么格式存储成什么格式

裁剪视频命令

//视频裁剪fmpeg -i input.mov -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy output.mp4crop格式:crop=out_w:out_h:x:y-i 指定文件-vf crop 指定视频滤镜,crop 裁剪滤镜in_w-200宽度减少200in_h-200高度减少200-c:v libx264视频编码器为libx264-c:a copy 不对音频进行处理//播放视频ffplay output.mp4
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议