无损压缩视频聊天的屏幕录像

无损压缩视频聊天的屏幕录像

我有一个视频聊天的屏幕录像,文件大小很大,因为屏幕录像本身的帧率为 59.93 fps。但是,我认为视频聊天的帧率为 15-30 fps。另外,这是视频聊天,所以单个帧显然也被压缩了。

我不想降低视频质量(考虑到这是视频聊天,视频质量已经有点差了)。但是,我想减小文件大小。不过,我不太清楚如何最好地做到这一点……我想我的问题可以归结为:

  1. 有没有办法以某种方式降低视频的帧速率,使其与视频聊天的帧速率同步?
  2. 还有其他我不知道的压缩选项吗?

如果有帮助的话,这里是 ffmpeg -i 输出:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\Untitled1.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2015-08-02T20:32:54.000000Z
    com.apple.quicktime.make: Apple
    com.apple.quicktime.model: MacBookAir4,2
    com.apple.quicktime.software: Mac OS X 10.10.4 (14E46)
    com.apple.quicktime.creationdate: 2015-08-02T12:46:10-0700
  Duration: 00:45:19.57, start: 0.000000, bitrate: 12981 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1438x874, 12974 kb/s, SAR 1:1 DAR 719:437, 59.93 fps, 60 tbr, 6k tbn (default)
    Metadata:
      creation_time   : 2015-08-02T20:32:54.000000Z
      handler_name    : Core Media Video
      vendor_id       : [0][0][0][0]
      encoder         : H.264

答案1

FFMPEG 在使用时会简单地丢弃视频中“不必要的”帧-filter:v fps=n

详细解释可见这里

通过另外将视频从 h264 转换为 h265,您可以将视频压缩大约 10 倍,而不会出现明显的质量损失。这意味着 100MB 的文件之后只会占用 10MB 的空间,而不考虑降低的帧速率。

例子:

ffmpeg -i <input> -filter:v fps=30 -c:v libx265 -vtag hvc1 -c:a copy <output> 

相关内容