提取mp3
ffmpeg -i source.mp4 -f mp3 -vn output.mp3
切割音频
-ss
从 时:分:秒.毫秒
处开始切割
-t
持续时间
-to
到 时:分:秒.毫秒
处截止
ffmpeg -i source.mp3 -vn -acodec copy -ss 00:00:00.00 -t 00:00:30 output.mp3
拼接音频
ffmpeg -i "concat:1.mp3|2.mp3" -acodec copy 3.mp3
压缩视频
ffmpeg -i source.mp4 -b:v 2048k -s 1920*1080 output.mp4
视频切片
# -ss 表示开始位置,-t 表示延长时间
ffmpeg -i input.mp4 -ss 00:01:45 -t 10 output.mp4
合并视频
ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy output.mp4
无画面视频还原
ffmpeg -i source.mp4 -vcodec libx264 output.mp4
加水印
scale: 水印尺寸
overlay: 水印位置
ffmpeg -i 1.mp4 -vf "movie=logo.png,scale=80:20 [wm]; [in] [wm] overlay=5:5 [out]" 2.mp4 -y
自动缩放 [以一个尺寸为标准406:720,自动适应其他尺寸的]
ffmpeg -i 212x420.mp4 -i logo100.png -filter_complex "[0:v]scale=406:720[bg];[bg][1:v]overlay=15:15" -tune psnr -refs 3 -c:v libx265 -preset veryslow -crf 33 -y output_212x420.mp4
查看视频信息
ffprobe -v error -show_format -show_streams test.mp4
crop的参数格式为w:h:x:y, w、h为输出视频的宽和高, x、y标记输入视频中的某点,将该点作为基准点,向右下进行裁剪得到输出视频。 如果x y不写的话,默认居中剪切
ffmpeg -i 360x640.mp4 -strict -2 -vf crop=360:500:140:0 -y out.mp4
图片亦可
ffmpeg -i logo113.png -strict -2 -vf crop=113:30:13:0 -y logo113-2.png
指定长,高度按比例缩放:
ffmpeg -i logo.png -vf scale=110:-1 logo110.png
自适应打水印
ffmpeg -i 212x420.mp4 -i logo300.png -filter_complex "[0:v]scale=1088:1920[bg];[bg][1:v]overlay=65:100"
-tune psnr -refs 3 -c:v libx265 -preset veryslow -crf 33 -y output_212x420.mp4
libx265编码(HEVC) vs libx264编码(AVC)
达到输出质量保持不变的同时节省存储空间
ffmpeg -i 720x1280.mp4 -vframes 1 720x1280.jpg
# filter_complex先按宽居中等比例裁剪,再缩放到500x500
ffmpeg -i head_img.jpg -filter_complex "[0:v]crop=iw:iw,scale=500:500" -y output.jpg