关于视频压缩的疑问

2018-11-29 13:03:37 +08:00
 blender2017
设置一:视频码率 1000,音频码率 96,分辨率 1920x1080,帧率 30fps,得到文件 a.mp4
设置二:视频码率 1000,音频码率 96,分辨率 960x540,帧率 30fps,得到文件 b.mp4
请问 a.mp4 和 b.mp4 那个画质好些呢。。

码率一样,文件大小一样,画质一样?
2503 次点击
所在节点    问与答
14 条回复
0ZXYDDu796nVCFxq
2018-11-29 13:12:56 +08:00
如果是真人或者实景的视频,编码格式是 H264,B 画质好
A 在这个分辨率帧率下,1000 Kbps 的码率远远不够,很多都糊得不如低分辨率了。
如果是动画甚至是静景,可能 A 好

如果把码率都调成 10000,一般情况下,A 好
Kagari
2018-11-29 13:20:41 +08:00
还要考虑源素材和编码方式
kokutou
2018-11-29 13:23:41 +08:00
1000 的码率,只要不是全程大量剧烈运动场面,x264 veryslow 还是能看的。

其实说白了,看情况,没有固定答案。
KevZhi
2018-11-29 13:34:38 +08:00
请自行参阅 ffmpeg 使用入门 wiki

码率并不能完全代表画面质量。

同样的 1000Kbps 码率,1080p 视频,画面内容激烈变化的动作电影,会有惨不忍睹的块效应(马赛克)。而画面内容是电脑录屏软件教程一类画面几乎不变的东西,1000Kbps 也可以做到极高的画质。

分辨率也不能完全代表画面质量。
同样内容的电影,1000Kbps 的码率,一个是 1080p,一个是 720p,大部分时候主观观感 720p 的要好一些。因为牺牲一些分辨率可以换来更少的色彩与整体观感的劣化

同样的码率、同样的分辨率也不一定是完全一样的质量。在编码过程中绝大多数编码都有 Profile 这个概念,profile 等级越高,做的运算越复杂,压缩率也越大,同时对编解码的设备性能要求越高。同样 1000kbps 的视频,用 main profile 和 high profile,肯定是 high profile 画质高
KevZhi
2018-11-29 13:39:44 +08:00
简单可理解的说法就是这样了,当然很不严谨。
tuntunxiong
2018-11-29 13:50:49 +08:00
一般设置二好多了

同样的码率, 原始文件分辨率越大, 在压缩的过程中会由于码率控制会倾向选用更大的编码块 cu 以及 量化参数 qp, qp 过大时带来一个比较明显的问题就是纹理丢失. 1080p 的用 1000 的码率感觉还是偏小.

楼上已经说的比较详细了, 需要之一的是 视频原始文件运动场景的剧烈程度, 以及 选择编码的 group 大小, 也就是 I 帧的间隔.
nlzy
2018-11-29 13:55:13 +08:00
楼主你的问题是不是指:高分辨率的片源压缩至低码率,有没有必要降低分辨率压制。
我认为没必要,理由是编码器很强大,应该让编码器去量化,而不是简单粗暴降采样。
jasonyang9
2018-11-29 13:56:42 +08:00
RMVB 9/10 和 h.264 刚出来的时代玩过一阵。画面变化很大的视频目标码率 1000 KBps 根本压不下来,而且有平均码率和最大码率,有些人最大码率设得很接近平均码率,结果惨不忍睹。要插入大量关键帧的时候就必须插,否则满屏幕的衍生物。还有二次编码,如果有耐心,开启二次编码的结果和不开启是差别很大的。当然这是那个时代的经验,现在不知。
pkookp8
2018-11-29 13:57:14 +08:00
码率就是水管,同样粗,其他都一样,当然分辨率小的质量高啦
gam2046
2018-11-29 13:58:39 +08:00
我有个额外的问题,假设片源为 1080P 分辨率,2000k 码率。

我转换成 720P 分辨率,分别是 1500k 码率,2000k 码率,2500k 码率。是哪个效果更好呢?


即视频转换时,转后的分辨率低于片源,码率是否有高于片源码率的实际意义?
jasonyang9
2018-11-29 16:07:43 +08:00
@gam2046 #10 这种情况我觉得没必要压,意义不大
blender2017
2018-11-30 09:15:45 +08:00
@tuntunxiong I 帧间隔是不是 GOP size
我看网上说 Gop 设大些 压缩率更好 文件更小 但对设备要求高些 播放时 seekability 也差些
Gop 设小点则相反
YouTube 推荐 GOP 设成帧率的一半,比如 30fps 的视频就设置 gop 到 15
所以我想问,这个值到底怎么设最好呢。。按 YouTube 的建议吗。。谢谢
tuntunxiong
2018-11-30 12:45:20 +08:00
@blender2017 视频编码我都不做了, 改行搬砖了, gop 用的是 1 ~ 2 s 的视频帧数
blender2017
2018-12-01 13:12:06 +08:00
@tuntunxiong 如果启用 b-frames,同码率下会显著提高画质吗。B frames 一般取多大值最好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/512692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX