【问题标题】:How to create HLS manifest from MPEG DASH segments?如何从 MPEG DASH 片段创建 HLS 清单?
【发布时间】:2017-05-08 08:29:11
【问题描述】:

自从苹果宣布支持分段 MP4, 是否可以为同一组片段(用于单独的音频和视频)同时创建 DASH 清单 (.mpd) 和 HLS 清单 (.m3u8)。怎么做?

【问题讨论】:

标签: ffmpeg http-live-streaming mpeg-dash mp4box bitmovin-player


【解决方案1】:

我不知道 ffmpeg 是否可行,但 shaka-packager 能够做到这一点。以下命令将输出 MP4 片段以及 HLS 和 DASH 清单,为两者重用 MP4 片段(不确定您是否可以使用 现有的 MP4 片段,但您可能必须将它们混合回单个 mp4视频流优先):

# HLS + DASH
packager \
    'in=h264_baseline_360p_720.mp4,stream=audio,init_segment=audio_init.mp4,segment_template=audio_$Number$.m4s,playlist_name=audio.m3u8,hls_group_id=audio,hls_name=ENGLISH' \
    'in=h264_baseline_360p_720.mp4,stream=video,init_segment=h264_360p_init.mp4,segment_template=h264_360p_$Number$.m4s,playlist_name=h264_360p.m3u8' \
    'in=h264_main_480p_1400.mp4,stream=video,init_segment=h264_480p_init.mp4,segment_template=h264_480p_$Number$.m4s,playlist_name=h264_480p.m3u8' \
    'in=h264_high_720p_2400.mp4,stream=video,init_segment=h264_720p_init.mp4,segment_template=h264_720p_$Number$.m4s,playlist_name=h264_720p.m3u8' \
    --hls_master_playlist_output h264_master.m3u8 \
    --mpd_output h264.mpd \
    --base_urls https://example.org/ \
    --hls_base_url https://example.org/ \
    --generate_static_mpd

请注意,在撰写本文时,您需要使用 master 分支代码(或 google/shaka-packager:latest docker 映像)作为最新版本 1.6.2 将退出 无法同时输出 MPD 和 HLS

虽然到目前为止我从未使用过它,但Bento4 是另一个能够在一次运行中package DASH and HLS 的工具:

mp4-dash.py  | grep hls
  --hls                 Output HLS playlists in addition to MPEG DASH
  --hls-key-url=<url>   HLS key URL (default: key.bin)
  --hls-master-playlist-name=<filename>
  --hls-media-playlist-name=<filename>
  --hls-iframes-playlist-name=<filename>

【讨论】:

    【解决方案2】:

    我在 github 上也有一个实验性的 GPAC/MP4Box 分支:

    https://github.com/DerouineauNicolas/gpac/tree/m3u8_mpd_rext

    到目前为止,预期用途如下:

    MP4Box -dash 1000 $OUT_DIR/file.mp4#video $OUT_DIR/file.mp4#audio -m3u8-from-mpd $OUT_DIR/hls.m3u8 -segment-name test-$RepresentationID$-$Number%d$ -out $OUT_DIR/file.mpd
    

    其中 -m3u8-from-mpd 是主播放列表名称。播放列表 m3u8 文件生成在与主播放列表相同的目录中。

    欢迎反馈。

    【讨论】:

      猜你喜欢
      • 2015-05-18
      • 2015-02-03
      • 1970-01-01
      • 2016-04-08
      • 2014-08-09
      • 1970-01-01
      • 2015-12-27
      • 2017-05-23
      • 1970-01-01
      相关资源
      最近更新 更多