我希望转换之间的HLS和MPEG破折号。我不能访问原始的完全串联的视频文件,只有个别的HLS段。
在进行到MPEG破折号的转换时,我需要为破折号manifest.mpd文件提供一个初始化段。
我的问题是:
非常感谢。
更新:使用原始hls段的流代码段。视频一直在播放,但只是黑色的。
<Representation width="426" height="238" frameRate="25" id="238p 400kbps" bandwidth="400000">
<SegmentList timescale="25000" duration="112500">
<SegmentURL media="video_0_400000/hls/segment_0.ts"/>
<SegmentURL media="video_0_400000/hls/segment_1.ts"/>
<SegmentURL media="video_0_400000/hls/segment_2.ts"/>
</SegmentList>
</Representation>
</AdaptationSet>
一个破折号视频初始化段的结构是什么?
对于ISO BMFF(通常称为mp4),这包括moov
框(在ISO/IEC 14496-12中指定)。对于MPEG-TS,通常没有初始化段。当存在时,它包含在PES中携带初始化数据的几个包。
我如何在不需要原始完整文件的情况下生成/创建一个?
如果您的目标播放器支持所需的特性,那么将HLS
转换为MPEG-DASH
将非常简单。首先,您需要一个支持MPEG-TS的播放器。那么实际上并不需要初始化段,因为初始化数据包含在每个HLS段中。要将and HLS播放列表转换为MPEG-DASH mpd,必须创建段列表
或段模板
。下面是一个例子:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
stream0.ts
#EXTINF:10.0,
stream1.ts
#EXTINF:10.0,
stream2.ts
MPD:
...
<SegmentList duration="10">
<SegmentURL media="stream0.ts"/>
<SegmentURL media="stream1.ts"/>
<SegmentURL media="stream2.ts"/>
</SegmentList>
...
如果您的目标播放器不支持MPEG-TS或SegmentList
,那么您必须通过使用诸如MP4box
之类的外部工具将HLS流转换为MPEG-DASH。
我使用FFMPEG-segment对桌面上的视频捕获进行分段,并通过网络发送它们,以便提供给客户,并使用dash.js播放。问题是播放器正在搜索初始化段,而我似乎不知道如何创建它。 我使用以下ffmpeg命令创建段: 我为流创建的清单如下所示: 播放机调试模式打印以下内容: 如何为生成的段创建初始化段?我似乎无法让它起作用。
我知道使用,我们可以创建MPEG-DASH就绪文件,包括段和. mpd清单文件。例如,我正在尝试这个有效的命令: 但我不想分割视频,所以我们有一个更简单的版本,整个视频有多个版本,没有块。MPEG-DASH允许吗?如果是这样的话,我如何使用在不创建块的情况下完成它?
我正在尝试使用MP4Box创建带有TS配置文件的mpeg dash文件。我尝试了以下命令: 它会生成清单文件中选中的完整配置文件。MP4Box是否支持TS段创建?
我正在尝试创建MPEG-DASH内容。我找到了可以组合的代码。mp4parser中的m4s文件。请有人引导我去创造这样的。m4s文件和。mpd文件。
我一直在尝试学习MP4Box和Dash,我正在取得一些进展,但我似乎无法让我的视频正常工作。我按照将播放器添加到一个简单的html页面的说明进行了操作,并用它测试了Dash测试页面中的已知MPD,并且播放器的一切都很完美,所以我缩小了MPD文件的范围。 我通过Dash验证器运行了我的MPD文件,但它失败了。我得到以下错误: 我正在使用MP4Box来分割mp4,所以这可能是一个错误的命令。我用的是这
我正在尝试实施Android应用程序来播放受小程序保护的视频。我在Exoplayer上构建我的应用程序,但我对有问题。 我有这个异常。我发现这个异常被抛出在这行代码中: 方法的所有参数都设置正确,但调用此方法失败,并引发上述异常。 你知道我该怎么解决吗?谢谢你的帮助。