FFmpeg视频处理常用方法

查看视频信息

ffmpeg -i ./video.mp4 -hide_banner

截取视频片段

1、指定起始时间,默认截取到视频结尾

ffmpeg -ss 00:01:00 -i source.mp4 -c copy -hide_banner result.mp4

2、指定起始时间、终止时间

ffmpeg -ss 00:01:00 -to 00:02:00 -i source.mp4 -c copy -hide_banner result.mp4

3、指定起始时间、持续时间

ffmpeg -ss 00:01:00 -t 00:01:00 -i source.mp4 -c copy -hide_banner result.mp4

合并视频

先创建一个文本文件filelist.txt,内容是要合并的视频文件路径,如下:

file '1.mp4'
file '2.mp4'
file '3.mp4'

然后执行:

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

其他方法参见这里

视频分辨率缩放

# scale=width:height, -1表示自动计算相应维度大小
ffmpeg -i source.mp4 -vf scale=480:-1 result.mp4

视频裁剪

# crop后面的参数为w:h:x:y
# w、h为输出视频的宽和高
# x、y标记输入视频中的某点,将该点作为基准点,向右下进行裁剪得到输出视频。若x、y省略的话,默认居中剪切
ffmpeg -i source.mp4 -vf crop=400:400 result.mp4

视频格式转换

1、avi → mp4

# 单独指定音频编码器(-acodec)和视频编码器(-vcodec)
ffmpeg -i source.avi -acodec copy -vcodec copy result.mp4
# 合并指定音频编码器和视频编码器:-c copy
ffmpeg -i source.avi -c copy result.mp4

Options

命令格式作用域说明
-f fmtinput / output强制指定input或output的格式
-i urlinput输入文件地址
-yglobal不经询问直接覆盖输出文件
-nglobal不覆盖输出文件。若输出文件已存在,则直接退出
-c[:stream_specifier] codec
-codec[:stream_specifier] codec
input / output, per-stream在输入文件之前时,指定decoder;在输出文件之前时,指定encoder。
codec为encoder/decoder的名称,或为copy
-vcodec codecoutput指定output的视频编码器,与-codec:v(或-c:v)相同
-t durationinput / output当作用于输入文件(-i之前)时,指定读取输入文件的长度
当作用于输出文件(输出文件之前)时,指定输出文件的长度
-to positioninput / output指定停止读取输入文件的位置。与-t互斥,-t优先级更高
-ss positioninput / output当作用于输入文件(-i之前)时,指定读取输入文件的起始位置
当作用于输出文件(输出文件之前)时,指定开始保存输入文件的起始位置
-vf filtergraphoutput调用一个滤波器对视频进行处理
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值