从.mp4文件创建.ts块

时间:2014-10-29 12:41:22

标签: c video nginx ffmpeg

我需要在不使用ffmpeg API的情况下从.mp4文件创建.ts块。我已经使用ffmpeg API实现了这个任务,它可以工作,但我的团队负责人希望我摆脱它,并且不可能让他相信它。该代码应该在负载下运行。

我已经找到了如何读取mp4格式,在哪里可以找到帧,它们在文件中的偏移和大小,它们的pts,用于音频和视频。对我而言是一项巨大的成就,因为我长期没有在这个领域工作过。

我管理的所有内容都是创建播放列表,其中每个块都以I帧开头。我使用ffmpeg API提供开始和停止播放列表条目的旧代码(略微修改),并创建正确的ts块。

但是要创建没有ffmpeg API的ts块,我仍然不能。

起初我试图读取nginx rtmp模块的代码,它的hls部分,但在那里无法理解。这太复杂了,我缺乏具体的知识。 现在我想读一些ts格式的东西。任何人都可以建议在哪里看?

感谢。

1 个答案:

答案 0 :(得分:1)

遗憾的是,您无法使用ffmpeg等可用,经过测试和有效的工具。为什么重新发明轮子?

无论如何,基本上你想要:

查看standards。可以很好地总结TS对象的格式here。 你至少需要:

  • PMT引用您的视频流
  • PAT以引用您的PMT

这个website是熟悉MPEG2传输流的良好起点。