3

媒体文件分段器是苹果公司提供的一个工具,它可以将一个媒体文件分成一系列小的 mpeg-2 传输流文件,用于 HTTP Live Streaming

现在,我想做一个相反的工作:将所有 mpeg-2 传输流文件合并到一个媒体文件 (mp4) 中供 iPhone 播放

我一直在尝试使用 AVFoundation 类AVURLAsset- ,AVMutableCompositionAVMutableCompositionTrack。我编写如下代码:

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:mpeg2tsMediaURL];
NSLog("duration: %lld", [asset duration].value); // shows empty duration here

我尝试打印AudioTrack,VideoTrack等其他属性所有属性都是空的,资产是空对象当我将mpeg2tsMediaURL切换到普通的mp4文件URL时,它可以正确显示属性。因此,使用 AVFoundation 类来完成这项工作是失败的。

欢迎任何建议。谢谢。

4

1 回答 1

0

您可以使用tsMuxeR组合 MPEG 传输流文件。

使用 GUI 合并 TS 文件:

  1. 单击“添加”按钮添加第一个文件。
  2. 单击“加入”按钮并选择第二个文件。再次单击“加入”按钮以选择第三个文件等。(不幸的是,从 2.6.12 版本开始,您必须单独加入每个文件。如果文件很多,您可能需要使用命令行工具。)
  3. 应自动为您选择输出文件名,但您可以在“输出”部分更改输出文件路径。
  4. 单击“开始混合”按钮。
于 2014-04-22T13:00:47.147 回答