You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dash.js设置video.currentTime时请求不存在的.m4s文件报404错误

解决dash.js跳转指定时间时请求不存在.m4s文件的问题

直接修改video.currentTime会导致dash.js无法正确映射媒体时间到对应的片段文件——此时播放器可能还未完成媒体片段索引的初始化,进而计算出错误的片段编号,请求不存在的文件。

正确实现方式

使用dash.js播放器实例自带的seek()方法完成时间跳转,该方法会自动处理时间到片段的映射逻辑:

var video = document.getElementById('video-' + layerId);
var player = dashjs.MediaPlayer().create();
player.initialize(video, videoUrl, true);
player.on(dashjs.MediaPlayer.events.STREAM_INITIALIZED, function() {
    player.seek(88); // 改用dash.js的seek方法替代直接修改video.currentTime
});

额外排查点

若使用seek()仍出现404错误,需检查以下内容:

  • 确认MPD文件中SegmentTemplate定义的duration与实际生成的.m4s片段时长一致,且片段索引规则(如是否从0开始)与文件命名完全匹配
  • 检查dash打包工具(如ffmpeg、Bento4)的参数配置,确保片段生成完整、索引连续

内容的提问来源于stack exchange,提问作者YadneshD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 19:42:08