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
                  }
            }
        });