我见过ffmpeg有一些编解码器(例如H.264)被定义为无损且同时有损耗,根据我的理解,无损和有损是相互排斥的< / strong>:压缩算法要么丢失信息要么丢失信息。
如何同时无损和有损?
运行ffmpeg -codecs 2>/dev/null| grep h264
,我得到:
DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [...]
DEV.LS
代表解码器,编码器,视频,不仅仅是帧内压缩,有损压缩,无损压缩。
答案 0 :(得分:2)
签入Wikipedia for H.264后说:
尽管如此,H.264通常用于严格数学意义上的有损压缩 损失的数量有时可能难以察觉。也可以真正创造 使用它的无损编码 - 例如,在其中具有局部无损编码区域 有损编码的图片或支持整个编码无损的罕见用例。
答案 1 :(得分:0)
是的,它既可以是有损的,也可以是无损的。对于H.264,MPEG和AVC,颜色,帧受到很大影响,并且在放大视频时会产生视觉观看问题。 我还发布了一项关于它的研究--- Check it out
答案 2 :(得分:0)
@MoDJ在评论中提到了答案。
h.264
编解码器与许多其他编解码器一样,具有编码选项。其中最主要的是恒定汇率因数,也称为CRF
。在这种情况下,The documentation from FFmpeg(使用libx264
编码h.264 / AVC的编码器)是一个很好的参考。它说:
CRF标度的范围是0–51,其中0是无损的,23是 默认值,而51是最差的质量。一般较低的值 导致更高的质量,主观上合理的范围是17-28。 认为17或18在视觉上无损或接近无损;它应该看起来 与输入相同或几乎相同,但在技术上不一样 无损的。
(...)
您可以使用-crf 0来创建无损视频。两个有用的预设 由于编码速度快或 最佳压缩通常是最重要的因素。 (...)
请注意,无损输出文件可能会很大,并且大多数非FFmpeg 基础的播放器将无法解码无损。因此,如果 兼容性或文件大小是一个问题,您不应使用无损。 (...)
总结:一个特定的流不能同时具有有损和无损 ,但是可以通过编解码器设置来调整流是有损还是无损。