我想在720p或更高的YouTube移动网站(https://m.youtube.com)上播放视频。到目前为止,我失败了。
访问移动网站时,YouTube不提供质量设置控制。我正在使用JavaScript来添加此功能。我的意图是稍后用浏览器扩展注入它。
到目前为止,我尝试了两个角度:
1)使用loadVideoById
player = document.getElementsByClassName("_msc")[0];
id = player.getVideoData()["video_id"];
player.loadVideoById(id, 0, "hd720");
// debug information
player.getAvailableQualityLevels(); // --> reports ["hd1080", "hd720", "large", "medium", "small", "tiny", "auto"]
player.getPlaybackQuality();
player.showVideoInfo(); // shows statistics below in viewport
但是,新播放器的质量仍为medium
。该脚本适用于将其设置为较小的质量small
和tiny
。通常,当视口很小时会发生这种情况。但是,在我们的情况下,它足以支持large
(854 x 480
)质量设置,请参见下图。仍然切换到它不起作用。它最多只能加载medium
(640 x 360
)。
2)使用setPlaybackQuality
这是切换质量的官方方式,完全适用于网站的桌面版本(https://www.youtube.com)。
player.stopVideo();
player.setPlaybackQuality("large");
player.seekTo(10);
然后调用player.getPlaybackQuality()
仍然只报告medium
。请注意,此脚本无法将其设置为较小的值small
,tiny
。所以它似乎根本不起作用。
在桌面版上,两个版本都可以使用。但是要检索一个必须使用:
player = document.getElementById('movie_player');
。
此外,在桌面上测试时,访问移动网站需要我转到用户代理切换到移动浏览器之一。
如何将质量成功地更改为高于medium
的任何内容?