Blogger Information
Blog 34
fans 1
comment 0
visits 57163
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
ffmpeg命令大全
Y的博客
Original
729 people have browsed it
学习音视频处理,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
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post