自从苹果宣布支持分段MP4以来,是否可以为同一组段(用于单独的音频和视频)创建仪表板清单(.mpd)和HLS清单(.m3u8)。怎么做?
我还在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文件在与主播放列表相同的目录中生成。
欢迎反馈。
我不知道使用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
请注意,在撰写本文时,您需要使用主分支代码(或google/shaka packager:Last docker image),因为最新版本1.6.2将退出,无法同时输出MPD和HLS。
虽然到目前为止我从未使用过它,但Bento4是另一种能够一次性打包DASH和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>
我目前正在一个平台上工作,该平台依靠MPEG Dash向浏览器提供音频和视频。对于onDemand im,使用ffmpeg将视频编码到h264/aac和MP4Box以创建清单。mpd文件。现在我想弄清楚如何创建实时MPEG Dash流,更具体地说,将hls实时流编码到MPEG Dash。 我需要重新编码所有的代码吗。ts段到。mp4(h264/aac)段,因为chrome不支持MPEG2T
如果MPD文件没有任何段URL列表,如何确定DASH媒体的段数?它只有一个段模板,所以我不知道与这个MPD相关联的媒体有多少段。这就是我说的MPD: 我的目标是检索所有存在段的URI。
我希望转换之间的HLS和MPEG破折号。我不能访问原始的完全串联的视频文件,只有个别的HLS段。 在进行到MPEG破折号的转换时,我需要为破折号manifest.mpd文件提供一个初始化段。 我的问题是: null 非常感谢。 更新:使用原始hls段的流代码段。视频一直在播放,但只是黑色的。
我想创建vod流媒体。我想通过hls和mpeg dash传输视频<我正在使用H.264/AAC。但我不想在hls和mpeg dash容器中存储两次视频。是否可以将视频存储在临时容器(如mpeg ts或mp4)中,然后使用hls和mpeg dash进行流式视频点播?或者可以单独存储视频h.264和音频aac,然后在hls或mpeg dash中动态打包视频 我不会使用实时流媒体。
我正在尝试使用MP4Box创建带有TS配置文件的mpeg dash文件。我尝试了以下命令: 它会生成清单文件中选中的完整配置文件。MP4Box是否支持TS段创建?
我正在尝试创建MPEG-DASH内容。我找到了可以组合的代码。mp4parser中的m4s文件。请有人引导我去创造这样的。m4s文件和。mpd文件。