压缩的视频可以解码回未压缩的原始格式吗?

fli*_*per 17 video compression ffmpeg

ffmpeg 文档中提到了以下内容

ffmpeg 调用 libavformat 库(包含多路分配器)来读取输入文件并从中获取包含编码数据的数据包……然后将编码数据包传递给解码器……解码器生成未压缩的帧(原始视频/PCM 音频/…… ) 可以通过过滤进一步处理...

这是否意味着您始终可以从所有压缩格式/编解码器(如 h.264)中提取原始大尺寸视频?

Att*_*tie 48

与“无损”相比,视频压缩通常是“有损的”。

这意味着通过压缩数据,然后对其进行解压缩,您最终会得到(希望)可以接受的原始数据的近似值。

使用有损压缩技术存储图像和视频通常很好,因为人类不太擅长感知图像中的细节——例如,我们的大脑可以仅从上下文中填充大量细节(因为我们的眼睛只有一小块区域在“高分辨率”的中心),我们的眼睛对绿色的强度比红色或蓝色更敏感(这解释了 RGB565 中的分配)。

所以,当你说:

这是否意味着您始终可以从所有压缩格式(如 mp4)中提取原始大尺寸视频?

你问了一个问题,但留下了很多误解的空缺。

  • 我们能否从使用有损技术压缩的视频中提取原始的、像素完美的图像?
  • 我们能否提取使用高质量有损技术压缩的视频的单帧,并可用作静态图像?
    • 可能不会- 场景中的移动会导致更多的伪像,而静态场景通常会随着时间的推移看起来越来越好。
  • 我们可以提取原始尺寸的图像,对人类来说看起来“合理”吗?
    • - 对于“合理”的给定定义

这个不完美的结果图像将具有“压缩伪影”。如下图夸张的例子所示:

好 / 100% JPEG

差 / 5% JPEG


由于评论也非常关注音频质量,因此发生了完全相同的事情。然而,音频是一种带宽明显较低的媒体,这使得无损编解码器变得实用(例如FLAC)。

从 PCM / WAV → MP3 → PCM 转换将导致输出 PCM 文件,其中包含 MP3 编码/解码过程引入的工件 - 这些无法删除。

此外,连接编解码器将允许每个人引入自己的工件,并且应用编解码器的顺序会对输出产生重大影响。

PCM转换MP3→→的Ogg Vorbis→作品是一样的PCM→作品,因为每个中介的编解码器是有损的。

我制作了一个示例音频文件,将其呈现为另一个夸张的示例。这是“ The 69 Eyes ”的“ Tonight ”的前~30秒,每5秒在以下链之间交替:

  • CD → FLAC → 作品
  • CD → FLAC → MP3 → Vorbis → Opus

这里的效果是戏剧性的,更高的频率(即:高帽)几乎完全从音频中移除,并且在开始时特别明显的显着通道(左/右)交互。

相比

  • 回复:链接有损编解码器:理解这一点的最简单方法是第一个有损编解码器引入的 **[artefacts](https://en.wikipedia.org/wiki/Compression_artifact) 成为第二个有损编解码器的“细节”的一部分编解码器必须花费比特准确地再现**。任何后处理(如 h.264 的环内去块过滤器),或将一个编解码器馈送到另一个代码,都会涂抹掉振铃/阻塞,因此它不会成为下一个编解码器易于量化的输入。(就像简单的 jpg -> jpg -> jpg 或其他可能达到稳定性的简单编解码器一样。) (4认同)
  • @opa 美国与英国的拼写差异不值得编辑。 (4认同)

zx4*_*485 15

一般编解码器的简短回答:
任何无损编解码器(FLACZIP)都可以完全反转。
任何有损编解码器(JPEGMP3)都无法完全反转。

这个原则也适用于视频编解码器
HuffYUV是无损视频编解码器的示例。
并且x264是有损视频编解码器的示例。