V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
blender2017
V2EX  ›  问与答

关于视频压缩的疑问

  •  
  •   blender2017 · 2018-11-29 13:03:37 +08:00 via Android · 2504 次点击
    这是一个创建于 2186 天前的主题,其中的信息可能已经有所发展或是发生改变。
    设置一:视频码率 1000,音频码率 96,分辨率 1920x1080,帧率 30fps,得到文件 a.mp4
    设置二:视频码率 1000,音频码率 96,分辨率 960x540,帧率 30fps,得到文件 b.mp4
    请问 a.mp4 和 b.mp4 那个画质好些呢。。

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

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

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

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

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

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

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

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

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

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


    即视频转换时,转后的分辨率低于片源,码率是否有高于片源码率的实际意义?
    jasonyang9
        11
    jasonyang9  
       2018-11-29 16:07:43 +08:00
    @gam2046 #10 这种情况我觉得没必要压,意义不大
    blender2017
        12
    blender2017  
    OP
       2018-11-30 09:15:45 +08:00 via Android
    @tuntunxiong I 帧间隔是不是 GOP size
    我看网上说 Gop 设大些 压缩率更好 文件更小 但对设备要求高些 播放时 seekability 也差些
    Gop 设小点则相反
    YouTube 推荐 GOP 设成帧率的一半,比如 30fps 的视频就设置 gop 到 15
    所以我想问,这个值到底怎么设最好呢。。按 YouTube 的建议吗。。谢谢
    tuntunxiong
        13
    tuntunxiong  
       2018-11-30 12:45:20 +08:00
    @blender2017 视频编码我都不做了, 改行搬砖了, gop 用的是 1 ~ 2 s 的视频帧数
    blender2017
        14
    blender2017  
    OP
       2018-12-01 13:12:06 +08:00 via Android
    @tuntunxiong 如果启用 b-frames,同码率下会显著提高画质吗。B frames 一般取多大值最好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1098 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1483ms · UTC 19:02 · PVG 03:02 · LAX 11:02 · JFK 14:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.