背景
我有一个JWplayer设置,该设置使用SMIL文件列出RTMP流的多个源。
SMIL文件中不包含HTML5播放的源列表(其中不支持RTMP)。
问题
在Flash模式下播放时,视频将开始播放并自动选择一个源,并且该源可以工作。但是,当您手动更改源时,加载图标将永久显示,并且播放永远不会开始。我通过将每个信号源设置为唯一选项来运行播放器来确保每个信号源都能正常工作,这很好。
在HTML5播放期间不会发生此问题。
链接
http://www.streaming.co.uk/sam/homepagevids/coventry.htm
源代码
Javascript设置
<script type="text/javascript">
$(document).ready(JSetup());
function JSetup()
{
jwplayer("player").setup
({
image: "http://hml.helixmedialibrary.net/thumbnails/71654317.jpg",
sources:
[
{ file: "SMIL/Coventry.smil"},
{ file: "http://helix.helixmedialibrary.net/flash/71654317_hi.mp4", label: "high" },
{ file: "http://helix.helixmedialibrary.net/flash/71654317_lo.mp4", label: "low" },
{ file: "http://helix.helixmedialibrary.net/flash/71654317_hi.mp4", label: "256k"}
],
abouttext: "Andy Syson Interview",
primary: "flash",
width: "573",
height: "410"
});
}
</script>
SMIL设置
<smil>
<head>
<meta base="rtmp://helix.helixmedialibrary.net/flash"/>
</head>
<body>
<switch>
<video src="mp4:71654317_hd.mp4" system-bitrate="128" width="960" height="720" />
<video src="mp4:71654317_hi.mp4" system-bitrate="128" width="480" height="480" />
<video src="mp4:71654317_lo.mp4" system-bitrate="48" width="240" height="240" />
</switch>
</body>
</smil>
发生了什么事以及如何解决此问题?
最佳答案
当使用多个来源时,您需要将它们放在播放列表块中。
例如-http://www.longtailvideo.com/support/jw-player/29394/hls-with-mp4-fallback
样例代码:
<div id="myElement"></div>
<script>
jwplayer("myElement").setup({
playlist: [{
image: "/uploads/myPoster.jpg",
sources: [{
file: "/uploads/myManifest.m3u8"
},{
file: "/uploads/myFallback.mp4"
}]
}],
primary: "flash"
});
</script>
只需使用SMIL,即可回退到MP4文件。它只需要位于单个播放列表块中即可。