Motion JPEG 的规格是啥?
Posted
技术标签:
【中文标题】Motion JPEG 的规格是啥?【英文标题】:What is the specifications for Motion JPEG?Motion JPEG 的规格是什么? 【发布时间】:2010-10-27 11:25:24 【问题描述】:我一直在疯狂搜索,找不到任何 mjpeg 的文件格式规范。
标题应该是什么样的? 我只是在标题后附加一系列 jpeg 吗?
我知道它通常在 .avi 容器中,它是否具有可能包含在其中的编解码器的标准化格式?
我们的目标是在 actionscript 3 中实现它,但其他语言也可以很好地移植。我试过看 ffmpeg 和 mplayer,但 c 还不是我的强项。
任何建议将不胜感激!
【问题讨论】:
【参考方案1】:IETF 的标准定义为RFC 2435。我不知道什么编解码器会支持这个,但这似乎是数据规范。
【讨论】:
这是 RTSP 流的有效负载格式,而不是它自己的容器。【参考方案2】:显然没有单一的规范。来自wikipedia:
批评
与国际标准中指定的视频格式不同 例如 MPEG-2 和格式 在 JPEG 静态图片中指定 编码标准,没有文档 定义单一的精确格式 这被普遍认为是 “运动”的完整规范 JPEG”适用于所有情况。这 引起兼容性问题 来自不同的文件输出 制造商。
【讨论】:
我想这可以解释为什么它很难找到。奇怪的是,由于许多“普通”相机在 mjpeg 中录制,他们只是在制定规格吗? 这就是标准的有趣之处 - 有很多可供选择!【参考方案3】:基于 HTTP 的 MJPEG 至少有一个相当标准的实现。它作为多部分 HTTP 响应返回。
***文章讨论了确切的机制:
https://en.wikipedia.org/wiki/Motion_JPEG#M-JPEG_over_HTTP
【讨论】:
jpegcameras.com 的链接已失效。【参考方案4】:There isn't an official standard.
实际上,最简单的 mjpeg 只是 jpeg 文件的串联,在同一个文件中一个接一个。
ffmpeg 使用 -f mjpeg
或 -vcodec mjpeg
开关支持此功能。
解码多个图像的 JPEG 解码器应该记住并为后续图像使用相同的 jpeg 表,如果这些图像无法提供替换。 jpeg 标准将其描述为“缩写 jpeg 流”,libjpeg 支持这一点。
所以一个 mjpeg 可能包含一个完整的 jpeg 图像,然后是后续的 SOI..EOI 块,这些块没有指定与前一帧重复的那些标题。
【讨论】:
libjpeg 现在似乎还活着here。【参考方案5】:没有单一的官方规范。但是有些公司制定了自己的规范:
QuickTime 文件格式规范 (https://developer.apple.com/library/content/documentation/QuickTime/QTFF/QTFFPreface/qtffPreface.html)
Motion JPEG 格式,QuickTime M-JPEG 规范 (http://staticky.com/dl/ftp.apple.com/developer/Development_Kits/QuickTime/Programming_Stuff/Documentation/QuickTime-JPEGSpec.pdf)
Microsoft OpenDML AVI 文件格式扩展 (http://www.morgan-multimedia.com/download/odmlff2.pdf)
【讨论】:
@RobertSköld 我现在试过了,链接真的坏了。我的电脑上有这个规范。如果你愿意,我可以发给你。 是的,我想要一份,谢谢。但它不能公开发布吗? @RobertSköld 我认为是可发布的,该链接上周有效。我怎么给你发邮件? 哦,我知道了,它现在已经在线备份了【参考方案6】:在 Motion JPEG 中,数字视频序列的每个视频帧或隔行扫描场都被单独压缩为 JPEG 图像。因此存储在It's Header中的每个帧的规范(例如质量因子)。换句话说,您的问题简化为:“如何读取视频中帧的标题?”
也许您可以使用 Phil Sallee 的 JPEG Toolbax。请注意,它具有读取/写入 jpeg 图像的一些功能,以及一些显示 DCT 矩阵、质量因子、霍夫曼编码表等的功能。
如果您发现如何在视频中使用此功能和/或如何阅读 MJPEG 视频的规范,请与我们分享
【讨论】:
【参考方案7】:在互联网搜索了很多天后,我也找不到完整的文档,也找不到文件协议的二进制示例。
有关迄今为止我发现的信息量最大的资源,请参阅 http://www.digitalpreservation.gov/formats/fdd/fdd000127.shtml (Motion JPEG 2000 文件格式——末尾有许多“有用的参考 URL”,包括“Motion JPEG2000 概述”,这至少在某种程度上有助于回答这个问题)。
您会发现 Apple MOV PDF 比比皆是,其中显然包含 Motion JPEG,但需要数周时间才能破译。我只能向其他人建议,上述 URL 是进一步研究的良好起点。
【讨论】:
【参考方案8】:您可以在网络上的其他地方找到此文档,但我不知道哪个是权威来源: http://www.cajunbot.com/wiki/images/7/71/USB_Video_Payload_MJPEG_1.1.pdf
【讨论】:
以上是关于Motion JPEG 的规格是啥?的主要内容,如果未能解决你的问题,请参考以下文章