2023-09-03
未分类
00
请注意,本文编写于 172 天前,最后修改于 172 天前,其中某些信息可能已经过时。

目录

视频格式
一些容器格式
编码标准与编码器
如何压缩视频?
1.使用更高级算法
2. 降低分辨率和帧率
3. 降低码率
TODO

视频格式

常见的视频格式有MKV MP4 AVI RMVB

一些容器格式

  • MKV
    • 优点:“肚量大”,支持各种编码 多音轨 多字幕
    • 缺点:Premiere等剪辑软件不支持mkv
  • mp4
    • 对剪辑软件比较友好
    • 缺点支持的编码格式有限
  • webm
    • 支持vp9opus等编码,youtube的在线格式之一
  • flv 通常是H.264+ACC编码,国内在线视频网站常用的格式

image.png

编码标准与编码器

不同的编码格式对视频质量和压缩率有很大的影响
对于mp4使用最广泛的视频编码格式是H264 FFmpeg默认选择的就是它

  • H.264标准
    • x264 EncoderCPU编码
    • h264_nvnev 使用nvidia显卡编码
    • h264_qsv 使用intel核显编码
  • H.265标准
  • VP9

相对于H.264H.265VP9有着更高的压缩率,但考虑硬件支持度、编码效率、使用许可等限制,目前应用最广泛的视频编码后依然还是H264。如B站上的绝大多数视频都是用H264编码的

TODO 为什么压缩算法受限于显卡支持?

如何压缩视频?

-- 既要压缩文件大小,又要肉眼看不出来画质的变化
压缩视频主要从三个方便下手 分辨率 帧率 码率
先来说结论

  • 降低分辨率
  • 降低帧率
  • 使用更高级的算法进行图片编码和视频编码

1.使用更高级算法

  • HEIF拍摄的照片,保持同样质量的前提下,比常用的JPEG格式的图片体积小很多
  • 使用HEVC(H265)拍摄和压制的视频,在同样质量的前提下,也比传统的H.264编码的体积更小
  • 压缩越多所消耗的算力也要更多,也就有了兼容性问题
  • image.png

2. 降低分辨率和帧率

image.png

分辨率

image.png

  • 分辨率越大占用磁盘空间越大
  • 帧率越大占用磁盘空间越大

分辨率帧率能调整的幅度有限
一般分辨率不小于720P 否者视频不清晰
帧率不小于24帧否则会感到卡顿

3. 降低码率

  1. 视频中通常相邻的图片相似度很高,为了更好的压缩,只存储关键帧的完整内容,其它帧只记录与关键帧的差异。
  2. 码率是指单位时间视频中关键帧的数量

码率一般要通过播放器才能看到

通常来说码率越高画质越清晰,但是有一个临界值

image.png

那么码率设置到多少合适呢?可以参考一些视频网站

image.png

用手机录制的1080P 码率可能达到23Mps,这也是为什么手机拍摄的视频都很大

推荐视频码率 1080P 大于6Mbps 4K 大于20Mbps

注意:码率只能从高到低压缩

字节换换算成比特 1MB=8Mb1MB = 8Mb

1920*1080的图片未压缩大小为 5.9MB

image.png

如果还想压缩可以选择更改视频编码方式

根据视频大小和时长是可以计算出码率
视频大小/时长(秒)8视频大小/时长(秒)*8

码率是什么?

单位时间内视频所包含的数据信息

码率高就代表视频里给算法还原的关键帧图片数量多质量好,相应的是视频的质量好文件质量也更大,压缩视频就是降低码率

image.png

TODO

同样的码率 是 1080P的画质更好 还是720P的画质更好?
为什么有的视频通过编辑软件导出后,体积反而变得更大了?
为什么视频播放的时候清楚,暂停播放的时候就模糊了?
为什么有的视频任务静止的时候清晰,动起来就模糊?
提升编码时间,可以弥补码率降低带来的质量损失吗?
高码率不等于高质量,低码率一定是低质量,为什么?

本文作者:郭敬文

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!