我正在尝试将 rtmp 音频流从 Wowza 服务器加载到 JWPlayer 7 中。如果我将它直接加载到 JWPlayer 中,该流工作正常。
但是我想从 Smil 文件中加载它(原因是我可以按需创建 smil 文件,我需要这样做,因为我想在用户决定按下播放时为流生成 url 签名)。
当我尝试将我的 Smil 文件加载到 JWPlayer 时,点击播放时出现以下错误:
Error loading stream: Could not connect to server
我可以看到它加载了 smil 文件(来自我的 Chrome 网络)选项卡。
这是我的 smil 文件的内容:
<?xml version="1.0"?>
<!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN"
"http://www.w3.org/2001/SMIL20/SMIL20.dtd">
<smil xmlns="http://www.w3.org/2001/SMIL20/Language" >
<head>
<meta base="rtmp://media.myserver.com:80/" />
</head>
<body>
<switch>
<video src="secureaudios3/local_inst?expires=1467199671&signature=xxx&filename=mp4%3Aamazons3%2Fstorage-bucket-dev%2Ftracks%2Ftrackname.m4a&fid=8388&user=0&dummy=/mp4:amazons3/storage-bucket-dev/tracks/trackname.m4a" />
</switch>
</body>
</smil>
rtmp url 工作正常(如果我直接在 JWPlayer 中加载源,也可以通过 VLC 加载,我可以播放这个)。通过 Smil 文件加载时它不会播放。
这是我的 JWPlayer 设置对象:
{
"width": "411",
"height": "63",
"stretching": "fill",
"primary": "flash",
"autostart": 0,
"repeat": false,
"rtmp": {
"bufferlength": 0.1
},
"playlist": [
{
"sources": [
{
"default": false,
"file": "http://www.example.com/path/to/playlist.smil",
"type": "rtmp",
"label": "0",
"androidhls": 1
}
]
}
],
"controls": 1,
"androidhls": 1,
"debug": true,
"events": {},
"id": "jwplayer_93e629982991a71e69a3f90750980c3d"
}
有什么明显的我做错了吗?