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

如果视频画质参数默认, 15M 的文件, mpeg4 转 h265,文件变成 5M,再转回 mpeg4,等于无损还原成 15M?

  •  
  •   aloyuu · 2020-10-29 12:54:14 +08:00 via Android · 2122 次点击
    这是一个创建于 1490 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果视频画质参数默认,15M 的文件,mpeg4 转 h265,文件变成 5M,再转回 mpeg4,等于无损还原成 15M ?



    类似于 rat 转成 zip ?
    18 条回复    2020-11-11 22:57:04 +08:00
    manhere
        1
    manhere  
       2020-10-29 12:55:23 +08:00
    确定无损?
    labnotok
        2
    labnotok  
       2020-10-29 12:55:34 +08:00 via Android
    每一次有损编码都会损失画质
    yyfearth
        3
    yyfearth  
       2020-10-29 13:03:34 +08:00
    怎么可能无损啊 本身都是有损的算法 就算你把 h264 用相同的参数或者更好的参数重新压缩一边都有损失 更不要说你转换了两次

    rar 和 zip 都是无损压缩格式 所以不管你怎么压缩转换都没关系 因为他们解压除了和原文件一定是一模一样的
    Jirajine
        4
    Jirajine  
       2020-10-29 13:05:57 +08:00 via Android
    每次重新 encode,无论是什么编码方式、码率加大还是缩小,画质总会越来越差。
    jasonyang9
        5
    jasonyang9  
       2020-10-29 13:39:29 +08:00 via Android
    看到楼上同学的回答我就放心了。其实 lz 可以做个简单的实验,二进制对比原文件和转换后的结果。也可以重复这个转换 100 次,然后播放了看看。
    icy37785
        6
    icy37785  
       2020-10-29 13:48:32 +08:00 via iPhone
    都损两次了。
    imn1
        7
    imn1  
       2020-10-29 13:52:21 +08:00
    视频编码不是 base64 编码,两次转换都是不可逆的

    rar 转 zip,其实是 rar --> raw (原始文件) --> zip


    mpeg4 --> raw (原始无损视频),这个过程本来就不存在
    raw 是一个像素 4 字节( R, G, B, A ),这个视频尺寸多大?算 320*240=76800 像素,就是 307200 字节,这只是一帧,每秒 29.7,约 30 帧,就是 9216000 字节(9MB),一秒小尺寸无损视频就这么大,所以你接触到的视频,从最开始就是有损压缩的,从一个有损格式到另一个有损格式,中间过程不可能无损
    yksoft1test
        8
    yksoft1test  
       2020-10-29 14:22:27 +08:00
    @imn1 mpeg4 压缩之前就不是 RGBA 色彩空间的了。
    imn1
        9
    imn1  
       2020-10-29 14:54:39 +08:00
    @yksoft1test #8
    你对,我错了

    只是举个例子,总不能逐个格式,什么 RGB24, RGB32, RGB48, YUY, UYUV, YV, AYUV...等等都去讨论个一遍吧,那不如写篇学术论文

    如果在这里写个 YCbCr 字节计算,不是几行加减乘除能说清的,我觉得 LZ 也不关心这个,能简单让他知道 RAW 是个什么级别就够了
    能看懂说什么就行了,要深入就自己查,网上说视频色彩空间、各种压缩的专业文章很多,我相信他一个成年人的自学和判别能力,不是别人说几句就当“真理”拿去用的
    wszgrcy
        10
    wszgrcy  
       2020-10-29 15:26:56 +08:00 via Android
    借楼问,如果一个编码格式为 wmv 微软的那个,转成 h264 265 如果保持原画质,应该设置多少?自动判断的那种……因为哪怕 1000 码率的,也能设置 10000 的转化码率……所以就想知道怎么能相对无损的转化,仅考虑重编码损失,不主动设置压缩
    junyee
        11
    junyee  
       2020-10-29 20:29:33 +08:00 via iPhone
    用 crf 参数 压。
    mxalbert1996
        12
    mxalbert1996  
       2020-10-30 00:19:31 +08:00 via Android
    @labnotok @yyfearth @Jirajine @imn1
    你们的知识该更新了,比较新的视频编码一般都支持无损编码了,包括 HEVC 。
    https://x265.readthedocs.io/en/stable/lossless.html
    mxalbert1996
        13
    mxalbert1996  
       2020-10-30 00:24:36 +08:00 via Android   ❤️ 2
    @wszgrcy 以 ffmpeg 为例,
    对于 h264,用「-crf 0 」来无损编码,
    对于 h265,用「-x265-params lossless=1 」来无损编码。
    https://trac.ffmpeg.org/wiki/Encode/H.264#LosslessH.264
    https://trac.ffmpeg.org/wiki/Encode/H.265#Losslessencoding
    yyfearth
        14
    yyfearth  
       2020-10-30 00:50:29 +08:00   ❤️ 1
    @mxalbert1996 LZ 说了 视频画质参数默认 来着
    wszgrcy
        15
    wszgrcy  
       2020-10-31 11:06:11 +08:00 via Android
    @mxalbert1996 大佬😯😘
    JinTianYi456
        16
    JinTianYi456  
       2020-11-11 14:58:33 +08:00
    @mxalbert1996 网上看到"H.265 旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频"。想问下,那用 265 Encoding 的时候是否会更吃性能?
    JinTianYi456
        17
    JinTianYi456  
       2020-11-11 15:04:31 +08:00
    #16 或者这样问: 上传带宽有限,机子性能有限,如何尽可能的推流更高质量的视频?选 264 还是 265 还是其它 en-codec ?
    mxalbert1996
        18
    mxalbert1996  
       2020-11-11 22:57:04 +08:00 via Android
    @JinTianYi456 更吃性能是肯定的,但是只要使用硬件编码,就几乎不会影响干其他事的性能,所以只要在你电脑的硬件编码能力范围内,编码随你选。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1053 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.