网络摄像头mjpeg和H264的区别

网络摄像头mjpeg和H264的区别,第1张

1、意思不一

MJPEG:是一种视频压缩格式,其中每一帧图像都分别使用JPEG编码。

H264:是国际标准化组织和国际电信联盟共同提出的继MPEG4之后的新一代数字视频压缩格式。

2、特点不一

MJPEG:不考虑视频流中不同帧之间的变化,只单独对某一帧进行压缩。

H264:使用高编码效率。

3、压缩效率不一

MJPEG:压缩效率低。

H264:具有很高的数据压缩比率。

4、画面不一

MJPEG:可以获取清晰度很高的视频图像。

H264:能够在低码率情况下提供高质量的视频图扒困像。

5、用途不一

MJPEG:应枣此银用于非线性编辑领域可精确到帧编辑和多凳宴层图像处理。

H264:应用于有线电视远程监控、交互媒体、数字电视、视频会议、视频点播、流媒体服务等。

QuickTime 可以打开

otion JPEG(MJPEG,Motion Joint Photographic Experts Group,FourCC:MJPG)是一种视频压缩格式,其中每一帧图像都分别使用JPEG编码。

[编辑] 编码

同样格式的MPEG视频压缩不同于帧间压缩,因为压缩比特率比较低,所以编码与解历升码相对比较容易,并不需要过多的运算能力,也使得软件或者芯片可以十分容易地对Motion JPEG进行编辑。也因为此,一些移动设备,如数码相机使用Motion JPEG来进行短片的编码。

对于QuickTime格式,苹果公司定义了两种类型的编码:MJPEG格式A和MJPEG格式B。 MJPEG格式B不再保留有效的JPEG交汇档案(Interchange Files),没有了头部,它肢谈老无法把单独帧保存到JPEG文件。

相比其他未压缩格式(比如RGB,压缩比1:1;YCbCr,压缩比 1:1.5)和MPEG(1:100),数据率29Mbit/侍早s算是非常高的,带来的结果就是文件尺寸相对较大。

[编辑] 解码支持

最初的PlayStation视频播放支持该格式。

1:可以使用opencv读取。

2:其代码如下:

#include"highgui.h"

#include"cv.h"

//从摄像头中读入数据

int main(int argc,char** argv)

{

cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE)

CvCapture* capture//初始化一个CvCapture结构的指针

if(argc==1)

{

capture=cvCaptureFromCAM(0)//如果参数为1,则从摄像头中读入数据,并返回一个CvCapture的指针

} //注:《学习OpenCV》中此处用cvCreateCameraCapture为错

else

{

capture=cvCreateFileCapture(argv[1])

}

assert(capture!=NULL)//断言(assert)使用,检查capture是否为空咐知橡指针,为假时程序退出,并打印错猛吵误消息

IplImage* frame

while(1)

{

frame=cvQueryFrame(capture)//用于将下一帧文件载入内存(实际是填充和更新CvCapture结构中),返回一个对应当前帧的指针

if(!frame)

break

cvShowImage("Example1",frame)

char c=cvWaitKey(33)

if(c==27) break//出发ESC键退出循环,读入数据停衡旁止

}

cvReleaseCapture(capture)//释放内存

cvDestroyWindow("Example1")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12140787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存