如何制作在第一段中间开始播放的 MPEG-DASH MPD?

拉文王

以下是重现步骤:

  1. 标准化 H.264 视频流

    ffmpeg -i 2.h264 -c:v libx264 -intra -r 25 -vf scale=640x360,setdar=16:9 2@25fps@[email protected]

    (*) 之后,我得到了一个 H.264 流,其中所有图片都是 H.264 IDR 帧,fps 为 25,分辨率为 640x360,纵横比为 16:9。

  2. 生成 MP4 文件

    MP4Box -add 2@25fps@[email protected]:timescale=1000 -fps 25 2@25fps@[email protected]

  3. 制作破折号 MP4 分片内容,包括 init mp4、.m4s 文件和一个 .mpd 文件

    MP4Box -dash 5000 -frag 5000 -dash-scale 1000 -frag-rap -segment-name 'seg_second$Number$' -segment-timeline -profile live 2@25fps@[email protected]

  4. 将所有这些文件复制并发布到一个 HTTPD 服务器下的文件夹中
  5. 我想从第一段的 4s 开始播放,并且在 4s 之前不显示任何帧,因此我更改了 .MPD 文件以修改字段“SegmentTemplate@presentationTimeOffset”、“SegmentTimeline:S@d/t”,例如:
    <?xml version="1.0"?> <MPD xmlns="urn:mpeg:dash:schema:mpd:2011" minBufferTime="PT1.500S" type="static" mediaPresentationDuration="PT0H0M26.000S" maxSegmentDuration="PT0H0M5.000S" profiles="urn:mpeg:dash:profile:isoff-live:2011"> <Period duration="PT0H0M26.000S"> <AdaptationSet segmentAlignment="true" maxWidth="640" maxHeight="360" maxFrameRate="25" par="16:9" lang="und"> <SegmentTemplate presentationTimeOffset="4000" media="seg_second$Number$.m4s" timescale="1000" startNumber="1" initialization="seg_secondinit.mp4"> <SegmentTimeline> <S d="1000" t="4000"/> <S d="5000" r="4"/> </SegmentTimeline> </SegmentTemplate> <Representation id="1" mimeType="video/mp4" codecs="avc3.64101E" width="640" height="360" frameRate="25" sar="1:1" startWithSAP="1" bandwidth="2261831"> </Representation> </AdaptationSet> </Period> </MPD>

  6. 从 VLC 播放器或 Edge 浏览器播放 MPD url,它总是从第一段的第一帧开始,0s ~ 4s 之间的帧也意外显示。

我的步骤有什么问题?或者有其他选择吗?

拉文王

已经澄清了!它在 Shakaplayer 中运行良好,但在 Edge 浏览器和 VLC 播放器中不起作用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

验证MPD文件-使用MPEG-DASH

来自分类Dev

仅播放音频HLS(m3u8)和MPEG DASH(mpd)

来自分类Dev

MPEG-DASH .MPD文件中的时间/持续时间格式?

来自分类Dev

MPEG-DASH .MPD文件中的时间/持续时间格式?

来自分类Dev

在dash.js中一起播放audio.mpd和video.mpd

来自分类Dev

DASH MPD中的段数

来自分类Dev

播放Dash或.mpd视频react-native(IOS)

来自分类Dev

创建MPEG-DASH初始化段

来自分类Dev

如何使用 MP4Box 创建 TS mpeg dash

来自分类Dev

为什么dash.js无法在Chrome中播放此MPEG-DASH流?

来自分类Dev

mpeg-dash与实时流

来自分类Dev

从媒体源sourcebuffer动态附加和删除mpeg-dash段

来自分类Dev

mpeg-dash(通常为.m4s)段的格式是什么?

来自分类Dev

如何在Google Chrome浏览器中加载mpeg-dash视频

来自分类Dev

如何使用 ExoPlayer 在多个客户端上同步 HLS 和/或 MPEG-DASH 视频?

来自分类Dev

chromecast现在支持MPEG-DASH吗?

来自分类Dev

支持MPEG-DASH的Android Media Player

来自分类Dev

VLC Player上的MPEG-DASH支持

来自分类Dev

Android HLS或MPEG-DASH javascript

来自分类Dev

VLC Player上的MPEG-DASH支持

来自分类Dev

Android HLS或MPEG-DASH javascript

来自分类Dev

Exoplayer-Widevine和MPEG DASH

来自分类Dev

在WAMS媒体文件上启用CORS,以便在MPEG-DASH参考播放器中播放

来自分类Dev

将 MPEG-DASH 与加密视频一起使用,我该如何保密我的加密密钥?

来自分类Dev

MPEG-DASH picky in fragmented mp4 sampleOffsets and sampleSizes?

来自分类Dev

Streaming audio only (.mp3) files using MPEG DASH

来自分类Dev

MPEG-DASH清单中的内容保护系统之间的差异

来自分类Dev

将MPEG-DASH段(例如init.mp4 + segment.m4s)合并回完整的source.mp4吗?

来自分类Dev

DASH mpd 向所有请求添加 http 标头

Related 相关文章

热门标签

归档