MPEG Dash代理

时间:2015-07-06 14:48:46

标签: proxy video-streaming mpeg-dash

我想知道是否有可能根据我自己的逻辑组合多个MPEG DASH Streams流,或者甚至更好地引入代理以允许动态切换流?

假设我们有三个.mpd文件:

  • A.mpd
  • B.mpd
  • C.mpd

以下关于流的迭代或生命周期的规范:

  • 1x运行A.mpd
  • 3x运行B.mpd
  • 5x运行C.mpd

现在一种方法肯定是打包客户端切换流的逻辑。关于进一步的复杂性和多个客户端实现,我更喜欢,没有任何其他深度的dash流量知识,在服务器端处理这个。

因此,我想引入代理流Z.mpd并动态切换A-,B-和C.mpd中的内容。

1 个答案:

答案 0 :(得分:1)

您可以使用MPEG-DASH Periods,可以根据建议生成播放列表。只需将内容按顺序放入一个MPD中,每个MPD位于一个自己的Period内。如果要动态更改顺序,还可以使用具有MPD更新的动态MPD。这意味着您可以非常轻松地插入新的Periods,例如,使用输出MPD的PHP脚本(myplaylist.php)并根据当前时间添加包含内容的新Period。如果它是一个静态播放列表,您事先知道日程安排,则可以生成一个包含所有句号的静态MPD。

我不知道所有MPEG-DASH播放器是否都支持Period功能。 bitdash最近添加了支持安静(至少对于使用bitcodin生成的内容),但您需要尝试。如果某些东西没有按预期工作,请放弃我。此外,如果您以类似的方式生成A,B和C的内容,例如相同的视频编解码器,相同的音频编解码器,可能相同的分辨率和比特率,它将使客户端更容易。期间允许这些事情可以改变,但如果不是绝对必要,我不会推荐它。