ffmpeg常用命令汇总【Mac&Linux】

提取MKV资源中的视频、音频、字幕(How to Extract Video, Audio, Subtitle from Original Video?)

提取视频 (Extract Video)

ffmpeg -i Life.of.Pi.has.subtitles.mkv -vcodec copy –an  videoNoAudioSubtitle.mp4

提取音频(Extract Audio)

ffmpeg -i Life.of.Pi.has.subtitles.mkv -vn -acodec copy audio.ac3

提取字幕(Extract Subtitle)普通字幕

ffmpeg -i Life.of.Pi.has.subtitles.mkv-map 0:s:0 sub1.srt

提取字幕(Extract Subtitle)特效字幕

ffmpeg -i Life.of.Pi.has.subtitles.mkv-map 0:s:0 sub1.ass

去掉视频中的音频

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

-an: 去掉音频;-vcodec:视频选项,一般后面加copy表示拷贝

提取视频中的音频

ffmpeg -i input.mp4 -acodec copy -vn output.mp3

-vn: 去掉视频;-acodec: 音频选项, 一般后面加copy表示拷贝

音视频合成

ffmpeg -y –i input.mp4 –i input.mp3 –vcodec copy –acodec copy output.mp4

-y 覆盖输出文件

🌟 剪切视频

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4

-ss 开始时间; -t 持续时间

视频截图

ffmpeg –i test.mp4 –f image2 -t 0.001 -s 320x240 image-%3d.jpg

-s 设置分辨率; -f 强迫采用格式fmt;

视频分解为图片

ffmpeg –i test.mp4 –r 1 –f image2 image-%3d.jpg

-r 指定截屏频率

将图片合成视频

ffmpeg -f image2 -i image%d.jpg output.mp4

视频拼接

ffmpeg -f concat -i filelist.txt -c copy output.mp4

将视频转为gif

ffmpeg -i input.mp4 -ss 0:0:30 -t 10 -s 320x240 -pix_fmt rgb24 output.gif

-pix_fmt 指定编码

将视频前30帧转为gif

ffmpeg -i input.mp4 -vframes 30 -f gif output.gif

旋转视频

ffmpeg -i input.mp4 -vf rotate=PI/2 output.mp4

缩放视频

ffmpeg -i input.mp4 -vf scale=iw/2:-1 output.mp4

iw 是输入的宽度, iw/2就是一半;-1 为保持宽高比

视频变速

ffmpeg -i input.mp4 -filter:v setpts=0.5*PTS output.mp4

音频变速

ffmpeg -i input.mp3 -filter:a atempo=2.0 output.mp3

音视频同时变速,但是音视频为互倒关系

ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4

视频添加水印

ffmpeg -i input.mp4 -i logo.jpg -filter_complex [0:v][1:v]overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] -map [out] -map 0:a -codec:a copy output.mp4

main_w-overlay_w-10 视频的宽度-水印的宽度-水印边距;

截取视频局部

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

截取部分视频,从[80,60]的位置开始,截取宽200,高100的视频

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4

截取右下角的四分之一

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

截去底部40像素高度

ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值