FFmpeg 视频处理

概念

帧率

帧率就是每一秒包含的帧数,在动画片中用的比较多的是12fps 不会对视频的流畅度有太大的影响同时又能节省成本,在电影中常用 24fps 是比较适合人眼的观感,如果低于 24 fps 的话,人眼看起来就会有卡顿的感觉。

码率

码率也叫比特率,是指每秒传送的比特(bit)数,数值越大,传送数据速度越快,是一个决定整体视频质量的参数。

FFprobe

ffprobe 是一个多媒体流分析工具。它从多媒体流中收集信息,并且以人类和机器可读的形式打印出来。它可以用来检测多媒体流的容器类型,以及每一个多媒体流的格式和类型。它可以作为一个独立的应用来使用,也可以结合文本过滤器执行更复杂的处理。

简单用法
ffprobe .\202112070941.mp4
输出详解

img

整体输出内容如上图,主要分为视频流和音频流两个部分:

视频流:

  • h264: 编码格式是H264的格式,目前的主流。

  • yuv420p: 视频数据彩色编码,类似于相对于 RGB 颜色空间,目前的主流。

  • 2160x1080 : 视频的分辨率

  • 1581 kb/s: 视频的码率

  • 24 fps: 表示平均帧率

  • 24 tbr: 实际帧率,该参数倾向于一个基准,和视频的封装格式相关。

  • 12288 tbn: 表示视频流封装层时间 timebase

  • 48 tbc : 表示视频流解码 timebase

音频流:

  • aac (LC) (mp4a / 0x6134706D): 音频编码,这里是mp4

  • 44100 Hz: 采样率

  • stereo: 立体声

  • fltp: 数据格式为浮点型

  • 128 kb/s : 音频的码率

FFmpeg

FFmpeg是一个快速的音视频转换工具。

简单用法

ffmpeg [全局参数] [输入文件参数] -i [输入文件] [输出文件参数] [输出文件]

常用参数:

-c:指定编码器
-c copy:直接复制,不经过重新编码(这样比较快)
-c:v 指定视频编码器
-c:a 指定音频编码器
-i:指定输入文件
-an:去除音频流
-vn: 去除视频流
-preset:指定输出的视频质量,会影响文件的生成速度,有以下几个可用的值 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。
-y:不经过确认,输出时直接覆盖同名文件。

视频压缩优化

ffmpeg -i D:\src.mov -c:v libx264 -preset veryslow -crf 18 -c:acopy D:\out.mp4
  • -i: 指定读入文件

  • -c:v: 指定音视频编码格式,libx264 是通用性能较好一种。

  • -preset: 主要调节编码速度和质量的平衡,有ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow、placebo这10个选项,速度快到慢,质量差到好。

  • -crf: 该参数可以控制转码,以达到视频的压缩率和质量的均衡性。18-28是一个合理的范围,18被认为是视觉无损的。

  • -c:acopy: 音频原文拷贝

  • -tune: 的参数主要配合视频类型和视觉优化的参数,或特别的情况才会使用

FFplay

非常少用,只用在命令行下使用。

参考文档:www.ruanyifeng.com/blog/2020/01/ffmpeg.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值