ffmpeg - FFMPEG ldash 1 低延迟选项,但 dash.js 不是低延迟和有滞后的错误并且总是从 0 开始无法控制
问题描述
我不知道如何解决这个问题。播放假定的低延迟 mpeg-dash 清单,但它有很多滞后,并且播放停止等待播放停止等待......
我有最新的 ubuntu 和最新的 ffmpeg
这里的命令
ffmpeg -re -i file.webm -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -ac 2 -strict -2 -crf 18 -profile:v baseline -maxrate 1000k -pix_fmt yuv420p -bufsize 969k -ldash 1 -streaming 1 -use_template 0 -use_timeline 1 -seg_duration 1 -remove_at_exit 0 -f dash index.mpd
和玩家方面
<script src="/templates/account_js/dashjs/dash.3.1.0.min.js"></script>
<center><video width="90%" height="600" id="videoPlayer" controls="" src="" playsinline="true" preload="metadata" ></video></center>
<script>
(function(){
var url = "index.mpd";
var player = dashjs.MediaPlayer().create();
player.initialize(document.querySelector("#videoPlayer"), url, true);
player.updateSettings({
streaming: {
lowLatencyEnabled: true,
liveDelay: 3,
liveCatchup: {
enabled: true,
minDrift: 0.05,
maxDrift: 0,
playbackRate: 0.5,
latencyThreshold: 30
}
}
});
})();
video = document.getElementById("videoPlayer");
video.addEventListener("loadedmetadata", function(){ video.muted = true; video.play(); }, false);
</script>
但它不是低延迟,它强制从 0 开始并且无法控制视频
是否有更好的配置设置以及需要修复的内容:ffmpeg 选项或 dash.js 配置
解决方案
您使用的是旧版本的 dash.js。尝试使用当前版本为 3.2.1 的最新稳定版本:http: //cdn.dashjs.org/v3.2.1/dash.all.min.js
在您的 3.1.0 版本中,设置看起来不同:
player.updateSettings({
streaming: {
lowLatencyEnabled: true,
liveDelay: 3,
liveCatchUpMinDrift: 0.02,
liveCatchUpMaxDrift: 0,
liveCatchUpPlaybackRate: 0.5
}
}
});
推荐阅读
- arrays - 随机数生成似乎无法正常工作
- text-to-speech - 如何在 Bixby 上控制语音输出
- azure-devops - 是否可以创建 Azure DevOps 组织或项目的备份?
- r - 唯一集排列 R
- php - 如何修复 sql 查询中的 504 Gateway Time-out nginx 错误?
- fortran - 为什么 f2py 即使在串行模式下也使用 -qopenmp ifort 标志进行编译?
- spring-boot - Windows 2017 上的 Spring Boot 应用程序无法访问
- docker - Jenkins 中的 Docker 推送 - 被拒绝:请求的资源访问被拒绝
- python - 如何在运行 Django 测试之前加载我的测试 yaml 文件?
- c# - 将位图保存到 MemoryStream