ffmpeg - 用于在内存中将 MP4 转换为 MPEG-2 TS 的 Java 库?

标签 ffmpeg javafx mp4 h.264 mpeg2-ts

所以...

我有一个 Java FX 应用程序,它运行嵌入式 HTTP 实时流媒体服务器,使用 Media 类(不是实时流媒体,视频点播)播放视频。视频播放由多个文件组成,这些文件实际上存储了 RTP 数据包的集合。当调用我的 HttpHandler 来处理文件的获取请求(.m3u8 索引文件中的条目)时,我计划...

  • 将文件加载到内存中
  • 创建 RAW H264 数据包的字节数组
  • 将 RAW H264 转换(包装?)为 MPEG-2 TS (ffmpeg -i video.h264 video.ts)
  • 将MPEG-2 TS内容写入响应体,以便播放

  • ...我的要求之一是我无法创建本地文件,甚至是临时文件。所以我无法创建 .h264 文件,使用 ffmpeg 创建 .ts 文件,读取 ts 文件,然后将内容写入响应正文。

    据我所知,Xuggler 不适用于流,而 JCodec 很慢。我相当有信心可以深入了解 MPEG-2 TS 格式并将 RAW H264 转换为适当的格式,但这似乎是很多以前应该做的不必要的工作。

    有人知道将 RAW H264 转换为 MPEG-2 TS 的简单方法吗?还是 MP4 到 MPEG-2 TS?我可以使用 MP4Parser 在内存中快速创建 MP4 数据,我只需要一个可以生成 MPEG-2 TS 数据的 java 库,谢谢!

    最佳答案

    您有几个选择:(1) FFMPEG-Java (2) jjmpeg .然而,尽管后者自 2013 年以来有更多的事件,但它们都有点老了。但这应该是一个好的开始。

    祝你好运!

    关于ffmpeg - 用于在内存中将 MP4 转换为 MPEG-2 TS 的 Java 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23377195/

    相关文章:

    ios - 将图像数组转换为 MP4 文件时遇到问题

    android - 在 ffmpeg 中读取 JPEG

    c++ - FFmpeg C++ 在单独的线程中解码

    JavaFX 线程问题

    ffmpeg 无法在 mp4 文件中重新保存一个 channel

    ffmpeg - 关于fmp4文件第一个mdat框的问题

    python - 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开 ".mp4"视频文件

    python - 如何将 H264 RTP 流从 PCAP 转换为可播放的视频文件

    JavaFX - 许多静态 FXML Controller

    java - 如何将带有 Controller 的 FXML 添加到 GridPane 中的每个单元格