【问题标题】:MP4 container writer in JavaJava 中的 MP4 容器编写器
【发布时间】:2011-04-09 11:49:33
【问题描述】:

我想为 Java 找到一个免费的 MP4(容器)编写器。我不需要编码器,只需要可以在给定预期值的情况下编写正确原子的东西。 奖励这样的库也可以编写“有效”F4V。
我更喜欢纯 Java 解决方案,而不是使用 JNI 或外部可执行文件的解决方案。

【问题讨论】:

    标签: java mp4 h.264


    【解决方案1】:

    我见过的修改 MP4 文件的 Java 会在外部调用 Nero AAC Codec(Nero 不提供源的 Windows 原生 .exe)来修改 AAC 文件(这是 Apple 的纯音频 MP4 文件)。它仅适用于音频,不适用于视频。

    【讨论】:

      【解决方案2】:

      不能保证,但red5 是一个用 Java 编写的开源闪存服务器,它声称支持流式传输 mp4 并具有 implementations of mp4 IO 对象,可以创建所述格式。

      此外,IBM 不久前创建了他们的 Toolkit For MPEG-4,虽然它不是免费的,但它可能会有所帮助。

      【讨论】:

      • 你提到 Red5 很有趣,我是该项目的核心开发人员 :)。是的,我知道 IBM 的实施,但正如您所证实的那样,它不是免费的。
      • 哈!在看到 red5 中的 mp4 impl 类后,我正在考虑将它用于一个废弃的旧项目。它不能创建 mp4 输出,还是您只是在寻找另一个实现进行比较?
      • red5 中的 mp4 代码只是一个阅读器,但服务器完全能够流式传输实时或录制的 mp4 内容。它只是无法将其写入磁盘。
      • 更正,它可以将其写入磁盘但只能在 FLV 容器中
      【解决方案3】:

      FFMPEG 的 java 绑定? http://fobs.sourceforge.net/f4jmf_first.html

      或者通过一些 C++ MP4 库来简化 JNA 代理。

      【讨论】:

      • 我需要一个不使用 JNI 或 JNA 绑定的解决方案,它不能依赖“本机”代码。
      【解决方案4】:

      您可能正在寻找类似StreamBaby 的东西。

      【讨论】:

      • 我看到他们在 java 中有用于拆分器和交错编写器的代码,但他们使用的是 FFMpeg。作者看起来并不完整,但它是一个开始。
      • 另外,FFmpeg 不适合我们
      【解决方案5】:

      我已经实现了一个QuickTimeWriter 类,它可以用纯Java 编写一个QuickTime 容器。

      据我所知,QuickTime 文件格式在结构上等同于 MPEG-4 Part 14。在 atom/boxes 内的字段中只有一些细微差别。

      所以,有了 MPEG-4 规范,再加上几个小时的工作,你应该会很好。

      【讨论】:

        【解决方案6】:

        即使我的回答很晚,您也可以通过Github 查看我的 MP4 Parser/Unparser。您可以解析 MP4 文件,修改它们并写入结果。您甚至可以从头开始以编程方式创建盒子并将您的对象表示写入某个接收器。

        【讨论】:

        • 在外面这看起来很有希望,一旦我检查出来你可能会得到“检查”
        • 目前我们正在将 h264 写入 flv 格式并为我们工作;一个完整的 mp4 编写器可能不会发布 1.0 版本,还有很多事情要做。
        • 是否可以使用一系列位图图像来渲染视频 (mp4)。我在android中做,但停留在这一点上。你能给我一个参考吗?我想要一个纯 Java 解决方案。谢谢和问候
        • 我已经使用 mp4parser 发布了我的 Red5 的第一个版本(阅读)并且到目前为止喜欢它
        • @SebastianAnnies 我们可以将对象表示直接写入 Android 媒体播放器,这样 android 媒体播放器就会像一个接收器一样。这甚至可能吗?所以它就像所有在内存中完成,而不是写入文件作为接收器,然后将文件 URL 提供给 android 媒体播放器。
        【解决方案7】:

        您可以查看 JCodec (http://jcodec.org)。它包含一个 MP4 库和 MP4 解复用器和复用器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-26
          • 1970-01-01
          • 2017-04-08
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          相关资源
          最近更新 更多