video - h.264 MPEG-TS 转 MP4 文件

标签 video streaming mp4 h.264 mpeg2-ts

我一直在进行一项练习,试图更多地了解流媒体。所以请原谅我的无知:)

我有 mpeg-ts 文件,其中包含 h.264 流。我已经能够按照 ISO 13818-1 规范编写一个小程序(用 Java)来提取 PES 数据包。从那里我可以轻松提取 PES 数据包数据。

所以我的理解是 h.264 是 mp4,但我认为它并不像将所有 PES 数据包数据链接到一个名为 *.mp4 的文件中来创建一个工作的 mp4 文件那么简单。

目前我还不清楚 PES 数据包数据到底是什么。

但基本上,我试图了解该算法基本上是什么样子,以将我拥有的数据重新混合到 mp4 文件。

最佳答案

H.264 是一种视频压缩标准,而 MP4 是一种容器文件格式。

打包基本流 (PES) 封装基本流 (ES),在您的情况下是 H.264 比特流。有多种方法可以格式化 H.264 比特流。

由于您的输入是 MPEG-2 传输流,因此它使用附件 B 格式。这意味着比特流由一系列以起始码为前缀的网络抽象层单元 (NALU) 组成。

MP4 格式使用不同的格式,其中每个 NALU 都以包含其长度的字段为前缀。

您需要将比特流转换为正确的格式并将其混合到新容器中。看看this answer并查找 MP4 标准以获取更多信息。

关于video - h.264 MPEG-TS 转 MP4 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079422/

相关文章:

flash - 有人曾经能够建立一个以移动视频为背景的网站吗?

c++ - 屏幕的 libvlc 流部分

node.js - Nodeschool 的 Stream-Adventure #7 HTTP 服务器

video - 如何从 MP4 文件中手动提取(解封装)H.264 比特流

windows - 警告 : [minor] The ExtractEmbedded option may find more tags in the movie data

iphone - 音频文件无法在设备上运行,但可以在模拟器上运行

php - 您需要授权访问才能继续

java - 从 android webview 打开视频播放器而不是在常规 <a> 上打开它

macos - 实现 Apple 的 HTTP Live Streaming - mediafilesegmenter 工具的问题

ffmpeg - 如何减小 mp4 文件中 moov atom 的大小