ffmpeg 常用命令

ffmpeg 是一个开源的音频视频处理神器,下面是一些常用的处理命令,包括视频格式之间的转换,视频简单的处理。

mp4 转 gif 动图

将 mp4 转为动图,其中两个参数比较重要,fps 和 scale 比较重要。

复制代码
ffmpeg -i example.mp4 -vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 example.gif

-i input.mp4: 指定输入视频文件。
-vf "fps=15,scale=640:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse":

fps=15: 将输出GIF的帧率设置为每秒15帧。
scale=640:-1: 将视频调整到640像素宽,同时保持宽高比。可以根据需要调整宽度。
flags=lanczos: 使用Lanczos重采样算法进行高质量的降采样。
split[s0][s1]: 将视频流分成两个流。
[s0]palettegen[p]: 从第一个流生成调色板。
[s1][p]paletteuse: 将调色板应用到第二个流。

mp4 转化成图片

用于将MKV文件转换为MP4文件,同时指定视频和音频编码器

复制代码
ffmpeg -i file.mkv -c:v libx264 -c:a aac output.mp4

-i file.mkv: 指定输入文件为 file.mkv。
-c:v libx264: 指定视频编码器为 libx264,这是一个高效的视频编码器,广泛用于MP4格式。
-c:a aac: 指定音频编码器为 aac,这是一种常见的高质量音频编码器。
output.mp4: 指定输出文件名为 output.mp4。

将图片列表转换为 MP4

复制代码
ffmpeg -framerate 1 -i slide%d.png -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4
-framerate 1:设置帧率为每秒1帧,这意味着每张幻灯片将显示1秒。根据需要调整此值以更改每张幻灯片的显示时间。
-i slide%d.png:指定输入图像,其中 %d 是图像序列的占位符。
-c:v libx264:指定视频编码器为 libx264(用于H.264编码)。
-r 30:设置输出帧率为每秒30帧。
-pix_fmt yuv420p:设置像素格式为 yuv420p,以提高与大多数播放器的兼容性。
output.mp4:输出视频文件的名称。

提取音频

复制代码
ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3

-i input.mp4:指定输入文件为 input.mp4。
-vn:忽略视频部分,只处理音频。
-acodec libmp3lame:使用 libmp3lame 编码器将音频重新编码为MP3格式。
-q:a 2:设置音频质量参数,值为2表示高质量(0是最高质量,9是最低质量)。
output.mp3:指定输出文件名为 output.mp3。

从视频中提取帧

复制代码
ffmpeg -i input.mp4 -vf "select=eq(n\,FRAME_NUMBER)" -vsync vfr -q:v 2 output.jpg

-i input.mp4:指定输入文件为 input.mp4。
-vf "select=eq(n\,FRAME_NUMBER)":使用视频过滤器选择帧,其中 FRAME_NUMBER 是您要提取的帧编号。例如,提取第100帧可以写作 select=eq(n\,100)。
-vsync vfr:使用可变帧率。
-q:v 2:设置输出图像质量,值越低质量越高(2表示高质量)。
output.jpg:指定输出文件名为 output.jpg。

反转视频

复制代码
ffmpeg -i input.mp4 -vf "vflip" output_vflip.mp4

-i input.mp4:指定输入文件为 input.mp4。
-vf "vflip (hflip) ":应用垂直(水平)翻转滤镜。
output_vflip.mp4:指定输出文件名为 output_vflip.mp4。
相关推荐
风哥2号19 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
Bruce_Liuxiaowei1 天前
录屏片段无损合并:从 ffmpeg concat 原理到 Python 自动化脚本
python·ffmpeg·自动化
工具派3 天前
口播视频怎么自动剪掉冷场?视频静音删除的阈值实测
ffmpeg·音视频·视频
❀͜͡傀儡师3 天前
移动端 360° 商品展示方案:从 20MB 雪碧图到 800KB 丝滑视频
ffmpeg·webgl·sprite
2501_930472444 天前
深度复盘|数据库迁移实战(上):腾讯云助手解析慢查询日志,定位索引缺失与语法不兼容
数据库·阿里云·ffmpeg·云计算·腾讯云·aws
我就是DaLing呀!4 天前
flutter + ffmpeg_kit_extended_flutter 大视频合并下载
flutter·ffmpeg·音视频
可乐鸡翅yeah_6 天前
多浏览器 HLS 兼容性差异排查,Chrome、Firefox、Safari 表现不一致定位
chrome·ffmpeg·音视频·firefox·safari·m3u8
行者-全栈开发6 天前
Spring Boot + FFmpeg 视频批量处理实战:压缩、HLS切片与异步任务引擎
spring boot·ffmpeg·异步处理·视频压缩·hls切片·批量任务·redis队列
可乐鸡翅yeah_7 天前
M3U8测试流使用指南,流媒体开发自测与环境校验标准化方案
网络·ffmpeg·音视频·m3u8·m3u8在线·音视频在线播放
heqingchun167 天前
Ubuntu 22.04 交叉编译 RK3568 MPP + FFmpeg 完整指南
linux·ubuntu·ffmpeg