gpt4 book ai didi

ffmpeg - 将 H.264 附件 B 转换为 MPEG-TS

转载 作者:行者123 更新时间:2023-12-01 02:16:58 27 4
gpt4 key购买 nike

所以...

我在本地文件中通过 RTSP 捕获了 RAW H.264 视频数据,并且我正在尝试在 Java FX 应用程序中播放视频。为此,我需要使用 Http Live Streaming。

我已经成功地构建了一个 Java FX 架构原型(prototype),该架构可以使用包含 .m3u8(HLS 索引)文件和 .ts(MPEG-TS)文件集合的本地文件夹通过本地服务器通过 HLS 播放视频。最后一点是用 .264/.h264 文件替换 .ts 文件,并在本地服务器中,将 H.264 Annex B 数据转换/包装成 MPEG-TS。

我无法弄清楚将 H.264 Annex B 转换为 MPEG-TS 需要什么。我找到了以下信息...

"Annex B is commonly used in live and streaming formats such as transport streams..."

szatmary.org/blog/25

"Annex B of of the document specifies one such format, which wraps NAL units in a format resembling a traditional MPEG video elementary stream, thus making it suitable for use with containers like MPEG PS/TS unable to provide the required framing..."

wiki.multimedia.cx/?title=H.264

"Java FX supports a number of different media types. A media type is considered to be the combination of a container format and one or more encodings. In some cases the container format might simply be an elementary stream containing the encoded data."

docs.oracle.com/javafx/2/api/javafx/scene/media/package-summary.html

"Use the CODECS attribute of the EXT-X-STREAM-INF tag. When this attribute is present, it must include all codecs and profiles required to play back the stream..."

developer.apple.com/library/ios/documentation/networkinginternet/conceptual/streamingmediaguide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html



似乎我在基本流和传输流周围缺少一些简单的东西。我使用 ffmpeg 将我的 H.264 文件转换为 TS 文件并尝试了解其中的差异。我对大致的格式差异有所了解,但我仍然缺乏执行此操作的细节。有没有人有一个展示这个的链接或者知道一些关于如何通过 MPEG-TS 提供 H.264 Annex B 数据的简单信息?

我不想使用工具,我需要在本地有一个自定义文件格式,我可以在其中解析 H.264 附件 B 数据并在内存中动态执行格式更改。我知道一种使用带有管道的 ffmpeg 来完成此任务的方法,但我不想有任何依赖关系,性能很重要。

最佳答案

它不是格式更改。它是一个容器。无需解析附件 b 即可将其写入 TS 文件。 TS 封装了一个 PES,该 PES 封装了一个附件 b 流。 mpegts 格式相当复杂,尤其是在没有第三方库的情况下。我在工作中编写和使用的 ts 代码大约是 1000 行 C++。

要编写 TS 代码,首先尝试使用十六进制编辑器读取 TS 文件,并引用 wikipedia 文档。本书Video Demystified也有相当好的文档。

关于ffmpeg - 将 H.264 附件 B 转换为 MPEG-TS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24025944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com