使用HTML5和JavaScript更改视频质量

使用HTML5和JavaScript更改视频质量,javascript,html,video,Javascript,Html,Video,我使用的是HTML5视频播放器,ISM清单取自这里。 在清单文件中有质量级别: <StreamIndex Type="video" Name="video" Chunks="61" QualityLevels="8" MaxWidth="1280" MaxHeight="720" DisplayWidth="1280" DisplayHeight="720" Url="QualityLevels({bitrate})/Fragments(video={start time})">

我使用的是HTML5视频播放器,ISM清单取自这里。 在清单文件中有质量级别:

 <StreamIndex Type="video" Name="video" Chunks="61" QualityLevels="8" MaxWidth="1280" MaxHeight="720" DisplayWidth="1280" DisplayHeight="720" Url="QualityLevels({bitrate})/Fragments(video={start time})">
<QualityLevel Index="0" Bitrate="2962000" FourCC="H264" MaxWidth="1280" MaxHeight="720" CodecPrivateData="000000016764001FAC2CA5014016EFFC100010014808080A000007D200017700C100005A648000B4C9FE31C6080002D3240005A64FF18E1DA12251600000000168E9093525"/>
<QualityLevel Index="1" Bitrate="2056000" FourCC="H264" MaxWidth="992" MaxHeight="560" CodecPrivateData="000000016764001FAC2CA503E047BFF040003FC52020202800001F480005DC03030003EBE8000FAFAFE31C6060007D7D0001F5F5FC6387684894580000000168E9093525"/>
<QualityLevel Index="2" Bitrate="1427000" FourCC="H264" MaxWidth="768" MaxHeight="432" CodecPrivateData="000000016764001EAC2CA50300DEFFC100010014808080A000007D200017700C0C000AE300002B8C7F8C718180015C600005718FF18E1DA12251600000000168E9093525"/>
<QualityLevel Index="3" Bitrate="991000" FourCC="H264" MaxWidth="592" MaxHeight="332" CodecPrivateData="0000000167640015AC2CA50250AFEFFF03FD0400520C0C0C800001F480005DC030200078F80003C7C7F8C71810003C7C0001E3E3FC6387684894580000000168E9093525"/>
<QualityLevel Index="4" Bitrate="688000" FourCC="H264" MaxWidth="448" MaxHeight="252" CodecPrivateData="0000000167640015AC2CA507021FBFFC1000100148303032000007D200017700C080014FF0000A7F8FE31C604000A7F800053FC7F18E1DA12251600000000168E9093525"/>
<QualityLevel Index="5" Bitrate="477000" FourCC="H264" MaxWidth="368" MaxHeight="208" CodecPrivateData="000000016764000DAC2CA505C6EFFC10000FED48303032000007D200017700C04003A3A0003A3A7F8C718080074740007474FF18E1DA1225160000000168E9093525"/>
<QualityLevel Index="6" Bitrate="331000" FourCC="H264" MaxWidth="284" MaxHeight="160" CodecPrivateData="000000016764000DAC2CA504857BFFF040003FE520C0C0C800001F480005DC0301000A198000A19FFE31C6020014330001433FFC6387684894580000000168E9093525"/>
<QualityLevel Index="7" Bitrate="230000" FourCC="H264" MaxWidth="224" MaxHeight="128" CodecPrivateData="000000016764000DAC2CA50E11BFF040003F0520C0C0C800001F480005DC0300001C1200038273F8C7180000E090001C139FC63876848945800000000168E9093525"/>


如何使用JavaScript更改视频播放的质量?我不知道怎么做。我也很乐意看到任何质量变化的工作实例。

至少在YouTube上,根据屏幕上的视频大小和与源的连接质量自动选择质量。

自适应比特率流的工作方式是,服务器提供包含多个不同比特率流的清单,客户端根据当前网络条件和设备的性能

这里的关键点是,选择比特率的是客户机

在某些客户端中,您可以手动覆盖此设置(例如,在YouTube中,观看视频时在“设置”按钮下)

您链接的播放器似乎没有通过Javascript选择比特率的选项

如果您查看dashjs播放器(),您会发现它有一些方法可以控制比特率切换,例如(at):

  • setMaxAllowedBitrateFor(类型、值)

玩一下这个,看看它是否满足您的需要可能会很有用。

我不明白,这个问题与youtube有什么关系?youtube正在使用这个引导视频播放器还是什么?)您确定此引导视频播放器支持平滑流媒体吗?在我看来,喜欢渐进式下载而不是流媒体播放器。在索尼智能电视上测试,效果很好。你到底测试了什么?DASH不是流媒体。或者DashJS也支持它吗?DashJS有一个支持平滑流的扩展项目:。如果它实际上只是PlayReady DRM,您需要支持它,值得注意的是,DASH标准也可以通过CENC()支持PlayReady DRM。