相同的视频,不同的url和分辨率外显层



我有相同的视频,但url和分辨率不同。如何更改外层的视频质量?。很抱歉,我的问题可能看起来不清楚,你要求我使用mu38清单,但这是不可能的,因为我使用html5创建了网络应用程序,html5支持创建具有不同url和不同分辨率的媒体源,但外部层只支持dash和mu38进行质量更改,这对我和我的合作伙伴都不好,因为我们无法更改现有的内容和数据库结构有没有办法让我在外部层上提供不同的mp4 URL来改变质量

我目前想使用hls清单,但如何在不创建mu38.ts区块文件的情况下做到这一点?检查我当前的MU38伪码

#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PROGRAM-DATE-TIME:Sun Jan 09 2022 00:01:26 GMT+0100 (West Africa Standard Time)
#EXT-X-ALLOW-CACHE:YES
#EXT-X-ENDLIST
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-STREAM-INF:BANDWIDTH=640000, CODECS="MPEG4", RESOLUTION=1920x1080
http://localhost:3000/video.mp4
#EXT-X-STREAM-INF:BANDWIDTH=840000, CODECS="MPEG4", RESOLUTION=1280x720
http://localhost:3000/video.mp4

大多数玩家只会在分段边界上切换分辨率,即在一个分段的末尾和下一个分段开始时。

对于你的情况,你的整个视频基本上只有一个大片段,所以这对你没有帮助。

如果你真的必须只使用两个不同分辨率的独立完整文件,你可能会发现可以使用两个外层实例,但一次只显示一个。例如,这将(理论上(允许您在时间线上的某个点开始播放高分辨率视频,以匹配当前播放的低分辨率视频,然后在它们之间切换或淡入-即,使新的高分辨率视频可见,并隐藏和停止低分辨率版本。

然而,我认为这并不容易,无论是准确匹配时间,还是在没有明显视觉指示的情况下实现切换。

我也不确定我是否完全遵循了你关于网络应用程序创建的评论,但以防万一,你可以使用VideoJS这样的播放器在网络应用程序中支持DASH和HLS流。这将处理读取HLS或DASH清单和流,并将片段构建为普通浏览器底层视频播放器可以使用的内容。

最新更新