Skip to content

ffmpeg命令收藏

参考

音频转换

bash
ffmpeg -i audio.wav -acodec libmp3lame audio.mp3
bash
ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3
bash
ffmpeg -i audio.ac3 -acodec libmp3lame audio.mp3
bash
ffmpeg -i audio.aac -acodec libmp3lame audio.mp3

mov转mp4

备注:微信的压缩会把视频尺寸修改掉,例如:720 × 1280会压缩成368 × 640

使用H.264编码 (压缩率50%)

使用H.265编码 (压缩率90%)

bash
ffmpeg -i  IMG_0948.MOV -vcodec libx264  IMG_0948.h264.mp4
bash
ffmpeg -i  IMG_0948.MOV -vcodec libx265  IMG_0948.h265.mp4

rmvb转mp4

bash
ffmpeg -i "demo.rmvb" -vcodec libx264 "demo.mp4"
bash
# This converts to h264 video and aac audio. These codecs quite common at present.
# Video defaults to CRF 23 while audio should default to 128k.
ffmpeg -i "emo.rmvb" -c:v h264 -c:a aac "demo.mp4"

音频+视频

bash
ffmpeg -i a.mp4 -i a.m4a -vcodec copy -acodec copy a1.mp4
bash
ffmpeg -i video.mp4 -vcodec copy -an video2.mp4

视频裁剪

因为微信只能发送不超过5分钟的视频,所以需要进行裁剪。

bash
# 从0秒开始,裁剪到5分钟
ffmpeg -i a.mp4 -ss 00:00:00.0 -to 00:05:00.0 out.mp4

# 从5分钟开始,裁剪到最后
ffmpeg -i a.mp4 -ss 00:05:00.0 out2.mp4

给视频加水印

参考: 使用ffmpeg给视频添加图片及文字水印

添加图片水印

bash
# 在视频右下角加水印
ffmpeg -i draw.io.mp4 -i qrcode.jpg -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' draw.io.mp4.output.mp4

# 在视频左下角加水印
ffmpeg -i draw.io.mp4 -i qrcode.jpg -filter_complex 'overlay=x=10:y=main_h-overlay_h-10' draw.io.mp4.lb.output.mp4

# 在视频右上角加水印
ffmpeg -i draw.io.mp4 -i qrcode.jpg -filter_complex 'overlay=main_w-overlay_w-10:y=10' draw.io.mp4.rt.output.mp4

# 在视频左上角加水印
ffmpeg -i draw.io.mp4 -i qrcode.jpg -filter_complex 'overlay=x=10:y=10' draw.io.mp4.lt.output.mp4

添加文字水印

bash
# 添加文字水印
ffmpeg -i draw.io.mp4 -vf "drawtext=fontfile=Alibaba-PuHuiTi-Regular.otf: text='技术是第一生产力':x=10:y=10:fontsize=26:fontcolor=#ff1e56" output.mp4

人生感悟