aloyuu
V2EX  ›  问与答

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

  •  
  •   aloyuu · Oct 29, 2020 via Android · 3152 views
    This topic created in 2206 days ago, the information mentioned may be changed or developed.
    如果视频画质参数默认,15M 的文件,mpeg4 转 h265,文件变成 5M,再转回 mpeg4,等于无损还原成 15M ?



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

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

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

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

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

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