blender2017
V2EX  ›  问与答

关于视频压缩的疑问

  •  
  •   blender2017 · Nov 29, 2018 via Android · 3184 views
    This topic created in 2760 days ago, the information mentioned may be changed or developed.
    设置一:视频码率 1000,音频码率 96,分辨率 1920x1080,帧率 30fps,得到文件 a.mp4
    设置二:视频码率 1000,音频码率 96,分辨率 960x540,帧率 30fps,得到文件 b.mp4
    请问 a.mp4 和 b.mp4 那个画质好些呢。。

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

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

    其实说白了,看情况,没有固定答案。
    KevZhi
        4
    KevZhi  
       Nov 29, 2018 via iPhone
    请自行参阅 ffmpeg 使用入门 wiki

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

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

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

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

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

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

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


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