【问题标题】:What is the specifications for Motion JPEG?Motion JPEG 的规格是什么?
【发布时间】:2010-10-27 11:25:24
【问题描述】:

我一直在疯狂搜索,找不到任何 mjpeg 的文件格式规范。

标题应该是什么样的? 我只是在标题后附加一系列 jpeg 吗?

我知道它通常在 .avi 容器中,它是否具有可能包含在其中的编解码器的标准化格式?

我们的目标是在 actionscript 3 中实现它,但其他语言也可以很好地移植。我试过看 ffmpeg 和 mplayer,但 c 还不是我的强项。

任何建议将不胜感激!

【问题讨论】:

    标签: actionscript-3 specifications file-format mjpeg


    【解决方案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 块,这些块没有指定与前一帧重复的那些标题。

    【讨论】:

    【解决方案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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-16
          • 2012-07-14
          • 2011-12-27
          • 1970-01-01
          • 1970-01-01
          • 2014-12-18
          相关资源
          最近更新 更多