指定文件
输入输出可以是文件名,如input.avi 或 output.mp4 此时路径为CMD当前目录
也可以带路径,如 c:/video/input.aiv
显示指定视频的信息
ffmpeg -i D:/directory/san/02.mp4
亦即输入一个视频。
视频格式转换
ffmpeg -i input.mkv output.mp4
或
ffmpeg -i input.mkv -c:v libx264 output.mp4
原视频若包含字幕及章节,转换后会丢失。
将mkv格式的视频转化为mp4格式。
「-c:v libx264」:指定使用libx264编码器
图片、音频转换
ffmpeg -i input.jpg output.png
ffmpeg -i input.wav output.mp3
视频转码指定压缩方式
ffmpeg -i input.mp4 -c:v libx264 -preset medium -tune animation output.mp4
-preset 和-tune的取值,在 FFmpeg X264的preset和tune 中可以看到。
指定压缩质量
ffmpeg -i input.mp4 -c:v libx264 -crf 22 output.mp4
「 -crf」压缩视频质量
可取值为:0(质量无损)-51(质量最差),质量越高,文件越大,日常使用常取19-28。
删除视频场景、音轨、字幕或数据流
ffmpeg -i input.mp4 -c copy -an output.mp4
删除音频轨(不作编码)
「-an」删除音频轨
「-vn」删除视频轨
「-sn」删除字幕流
「-dn」删除数据流
批量转换所在文件夹的文件格式
CMD
for %i in (*.jpg) do ffmpeg -i "%i" -vf scale=1280:-1 "%~ni.webp"
批处理
@echo off
mkdir converted
for %%i in (*.jpg) do ffmpeg -i "%%i" -vf scale=1280:-1 "converted\%%~ni.webp"
pause
此示例命令或批处理会将文件夹下的所有文件中的
- jpg图片转换成webp,
- 文件名不变,
- 缩放到宽度1280px,自动计算高度,
- 批处理会将转换后的文件放入新建的converted文件夹。
修改对应参数即可实现转换其他格式或指定其他尺寸。
屏幕录制
ffmpeg -hide_banner -loglevel error -stats -f gdigrab -framerate 60 -offset_x 0 -offset_y 0 -video_size 1920x1080 -draw_mouse 1 -i desktop -c:v libx264 -r 60 -preset ultrafast -pix_fmt yuv420p -y D:\Videos\Screen_record\out.mp4
录屏,1080P 60FPS(无法录制声音)
「-y」:覆盖同名文件
按Q终止