[英]GStreamer: Output speeds up and slows down during play back when transcoding between MJPEG and H264
[英]mjpeg and h264 codecs
mjpeg和h264有什么区别?
Mjpeg只是单个文件或数据流中jpeg文件的列表。 没有帧间压缩。 换句话说,每个帧都是关键帧。
h264与Mjpeg截然不同-从此处开始: http : //en.wikipedia.org/wiki/H.264/MPEG-4_AVC
(Mpeg(没有'j')与Mjpeg不同,但与H264非常相似)
视频压缩通过两种预测形式实现:
帧间预测通常要好得多,因为它可以非常便宜地对帧之间相似的视频区域进行编码。 这是H.264获得大部分压缩的地方。
单个JPEG图像只是一个内部帧,而MJPEG只是一系列JPEG图像。 MJPEG根本没有帧间。
实际上,即使是H.264内帧也比JPEG帧提供更好的压缩(这部分是Google推出WebP的原因)。
对于大多数使用情况H.264会比MJPEG 好得多的压缩,但编码/解码过程是一个复杂得多,这就是为什么的事情没有多少计算能力如网络摄像头吐出MJPEG。
好的H.264编码器的性能必须与好的MJPEG编码器一样差,例如随机生成的像素值,这将是一个相当病理的情况。
首先知道H.264和MPEG-4 AVC和MPEG-4第10部分是相同的。 检查这个
现在
相对于MJPEG,在移动摄像机或活动频繁区域的图像的情况下,MPEG4和H.264提供的带宽节省很少。
正确的网络设计需要考虑到更坏的情况,因此无论您使用MJPEG,MPEG4还是H.264,都需要分配相同的带宽。
由于没有帧内压缩,因此MJPEG提供更高的质量。
与MJPEG不同,MPEG-4供应商偏离标准,增加了潜在的集成成本。
虽然H.264通常会显着降低带宽消耗 ,但它取决于多个因素(包括复杂性,流模式,帧速率和i帧速率)。 VBR与CBR的选择尤为重要,这会对使用和性能产生重大影响。 最后,虽然H.264可以提供与MJPEG相同的可见图像质量,但根据您使用的设置(尤其是流模式),您很容易产生较差的质量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.