1

我正在尝试将 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"
}

有什么明显的我做错了吗?

4

0 回答 0