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")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)