HLS to MPEG DASH



我目前正在一个依赖MPEG Dash向浏览器提供音频和视频的平台上工作。对于按需,im使用ffmpeg将视频编码为h264/aac和MP4Box以创建manifest.mpd文件。现在我试图弄清楚如何创建实时MPEG Dash流,更具体地说,将hls实时流编码为MPEG Dash。

  1. 我是否需要将所有 .ts 段重新编码为 .mp4(h264/aac) 段,因为 chrome 不支持 mpeg2ts?
  2. 如果是这样,我如何连续重新编码所有片段(不同的分辨率,不同的比特率)
  3. 如何使用 MP4Box 创建动态清单/输入参数的外观如何

如果你想保留HLS流的表示/演绎,你基本上只需要将mpeg2ts片段重新多路复用为IBMFF/MP4片段+创建DASH init文件。有像wowza或Unified Streaming这样的流媒体服务器可以做到这一点。

我一直在为按需和实时配置文件开发MPEG DASH。我使用 Ubuntu 16.04,这就是我所做的。我使用 avconv 将输入块从 mp2t 转换为 mp4,然后使用 ffmpeg 对视频进行分块并对齐 I 帧,然后使用 MP4Box 创建 .mpd 和片段。对于实时流媒体,我使用 ffmpeg 使用我的网络摄像头录制剪辑,将 mpeg2 转换为 mpeg4 格式,最后使用 MP4Box 生成动态片段。现在,对于您的问题:

  1. 您应该在分割之前将输入流从 mpeg2 转换为 mpeg4,以便稍后保存转换片段,
  2. 连续编码按需内容:这不是真正必需的,因为内容是一次性转换的,但是如果您仍然需要,您可以编写一个简单的bash脚本来串联循环avconv和ffmpeg命令,
  3. 若要生成动态内容,命令应如下所示:

MP4Box -dash-live DUR(in ms) -fps 24 -some_other_params_you_want_to_use -dash-ctx filename -dynamic -out filename

很高兴提供更多信息!干杯

相关内容

  • 没有找到相关文章

最新更新