我想知道是否有适合极低比特率的视频编解码器,特别是对于网络摄像头输入?
围绕一些数字:让我们说一个160x120的流将导致大约32kbps左右。
质量可能很差。但是,视频应该是“可以理解的”,并且帧速率应该足以满足移动感知。
谷歌搜索出来,我只能找到摘要。有没有具体的编解码器?任何视频示例?最终,任何可用的库?编辑:感谢您的回答。我尝试编码160x120预先录制的剪辑,H264的目标是32kbps,我必须承认结果非常好。
质量实际上是非常好的,这让我觉得这可以实时完成,而且不需要高CPU负载?
以会议为例,您必须实时编码一个流,同时解码多个流。
答案 0 :(得分:3)
在一天结束时,我认为通过运行具有非常小的目标比特率的高质量现代编解码器,你可能会得到最好的服务,让它发挥其魔力。试试x264;我已经看到它在高比特率下的出色表现,并且它被认为可以很好地降级。 x264的最大问题在于它对编码和解码有相对较高的CPU要求,但我认为它将以当前可用编解码器的给定比特率提供最佳质量。它已经标准化了!
答案 1 :(得分:1)
击败h264真的很难,但遗憾的是我认为你所提到的分辨率约为64kbit。
我认为研究领域有一些可以做得更好的东西,通常是匹配追求的变体,但我不认为那些已经成为现实世界的编解码器。这是因为首先,Matching Pursuits 非常编码速度慢,其次有一些专利覆盖它。
答案 2 :(得分:1)
我认为H.264能够做到这一点。我似乎记得编码QCIF(176X220)大约64 kBit /秒并且它的质量合理,因此应该可以在32kBit / s下实现更小的分辨率(但当然质量非常低)。说实话,我总觉得很惊人,你可以在比特率很低的情况下获得一个可观看的视频......
实现的比特率当然在很大程度上取决于帧速率。此外,视频中的内容对双边效果有很大影响。如果视频中存在大量移动,则会增加比特率(如果比特率固定,则会降低质量)。
答案 3 :(得分:1)
记住:帧率是至关重要的。
如果质量更低,帧率更低?这样就可以达到32kbps。
另外,GOP大小很重要,与压缩和错误恢复有很大关系。
大gop =较小的大小/冗余=小流腐败变得致命 小gop =大尺寸/每比特率更低的质量=更具错误的弹性
在x264中,我建议你关闭变量AQ,Trellis和Psy-RD,并将色度量化器偏移增加到3,并将inloop去块器的Beta增加到大约3,而不改变alpha。每次测试时都打开PSNR并寻找最佳设置。并使用MeGUI进行测试。
答案 4 :(得分:1)
H.264肯定会以相同的比特率获得最佳质量。但是,它需要最多的计算资源。因此,在一些计算机中,对多个视频流进行编码或解码是不可行的。
由于这取决于编码参数和视频内容,因此无法事先知道H.264(或一般视频)编码/解码所需的计算资源。所以,你应该自己做一些测试,看看普通的PC是否可以实时编码/解码H.264,如果有的话是多少流。这并不像看起来那么难。使用mencoder或x264进行H.264编码,使用所需参数作为长视频。看看编码帧率。现在,在第一个完成之前,启动另一个mencoder实例并查看帧速率等。
如果您最终发现H.264不适合您的需求,请尝试h.263。它是一种较旧的协议,无法达到H.264的压缩率,但它专为视频会议而设计,因此在您需要的情况下它具有良好的质量,而且,因为它相当陈旧,它对资源要求不高。