FFmpeg 视频处理
ON THIS PAGE
ffmpeg 是一个开源跨平台,被广泛使用的视频处理工具。
官网地址:https://ffmpeg.org/
视频截图
# 从20秒截取一帧
ffmpeg -ss 20 -i video.mp4 -vframes 1 -y video.jpg
# 从1小时30分0秒截取一帧
ffmpeg -ss 1:30:00 -i video.mp4 -vframes 1 -y video.jpg
视频转换GIF
# 从第20秒截取10帧生成gif
ffmpeg -ss 20 -i video.mp4 -vframes 10 -f gif video.gif
# 调整输出的文件大小
ffmpeg -ss 20 -i video.mp4 -vframes 10 -s 160x90 -f gif video.gif
# 从第20秒截取一个10秒时长的gif
# 宽度600px,高度自适应 (宽度如果小于原视频,会影响清晰度)
# 循环播放
ffmpeg -ss 20 -t 10 -i video.mp4 -vf "fps=10,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 video.gif
保存hls(m3u8)/rtmp的视频/直播流
ffmpeg -i 'rtmp://example.com/xxx' -c copy -f mp4 output.mp4
显示帮助:
ffmpeg --help
部分参数说明:
- -y 覆盖视频,执行完命令,输出的文件会直接覆盖原同名文件;
- -ss 起始时间,可以用秒来做单位,也可以指定为一个具体的时间。比如 -ss 20 就是从视频的20秒处开始处理,-ss 1:30:00 就是从1小时30分0秒开始处理;
- -i 输入
- -t 截取的视频时长
- -loop 控制循环次数 -loop -1 不循环 -loop 0 无限循环 -loop 2 循环两次
2020-05-18