gpt4 book ai didi

javascript - videojs 无法更改 rtmp src

转载 作者:行者123 更新时间:2023-11-28 08:04:21 26 4
gpt4 key购买 nike

我正在使用Videojs作为我的客户端播放器,正在研究一种动态更改实时 RTMP 源的方法,最终目标是检测带宽并将源视频更改为更高或更低的比特率。

我遇到的问题是,当我尝试使用通过其他帖子找到的示例简单地更改源代码时,会导致 video.js 代码中抛出错误。

这是一个jsfiddle ...只需打开浏览器的调试控制台,然后刷新页面,当超时运行并命中 $vid_obj.src(...) 时,您会看到一个错误

HTML:

<video id="video_player" class="video-js vjs-default-skin" controls preload="auto" width="640" height="264"
poster="http://video-js.zencoder.com/oceans-clip.png"
data-setup='{ "techOrder": ["html5", "flash"] }'>
<source src="rtmp://217.23.11.44/live/myStream" type='rtmp/mp4'>
</video>

Javascript:

videojs("video_player").ready(function () {
hsnPlayer = this;
hsnPlayer.play();

setTimeout(function () {
var $vid_obj = _V_("video_player");

$vid_obj.pause();
$vid_obj.src({ type: "rtmp/mp4", src: 'rtmp://hsn.mpl.miisolutions.net/hsn-live01/mp4:420p500kB31' });
$vid_obj.load();
$vid_obj.play();
}, 10000);
});

错误是“TypeError:this.ge 不是函数”

所以我的问题是我在尝试更改源代码时是否犯了错误,或者这是我应该在他们的 git issues 下报告的错误吗?

最佳答案

尝试将您的代码更改为如下所示:

    if (this.techName === "Html5"){
this.src(new_source.src);
} else {
this.loadTech(this.techName, {src: new_source.src});
}

此外,techName 仅在 videojs 的开发版本中可用(或通过 uglify/uglify2 缩小)。您应该在 videojs 的缩小版本(在 videojs.com 上提供)中将 techName 替换为 xa

关于javascript - videojs 无法更改 rtmp src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24973342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com