Video streaming 带有JW播放器和SMIL文件的Wowza VOD应用程序-不适用于移动设备

Video streaming 带有JW播放器和SMIL文件的Wowza VOD应用程序-不适用于移动设备,video-streaming,mp4,jwplayer,wowza,jwplayer6,Video Streaming,Mp4,Jwplayer,Wowza,Jwplayer6,我在wowza论坛上发布了这篇文章,但总共收到了0条回复,所以我也想在这里发布。我还没有做过很多流媒体的工作,我正在尝试结束一个视频点播项目的一些细节,该项目基本上是将视频流到一个网站,并遇到了一个问题,即如何将正确的流发送给正确的消费者(例如:安卓浏览器、chrome桌面浏览器、iOS等)。我已经浏览了一大堆教程、论坛等,但找不到正确的修复方法,包括这里的一些问题,所以 以下是我的设置: 关于Wowza: 我设置了一个视频点播应用程序 内容目录: ${com.wowza.wms.contex

我在wowza论坛上发布了这篇文章,但总共收到了0条回复,所以我也想在这里发布。我还没有做过很多流媒体的工作,我正在尝试结束一个视频点播项目的一些细节,该项目基本上是将视频流到一个网站,并遇到了一个问题,即如何将正确的流发送给正确的消费者(例如:安卓浏览器、chrome桌面浏览器、iOS等)。我已经浏览了一大堆教程、论坛等,但找不到正确的修复方法,包括这里的一些问题,所以

以下是我的设置: 关于Wowza: 我设置了一个视频点播应用程序

  • 内容目录:
    ${com.wowza.wms.context.VHostConfigHome}/content/Weekends
  • 播放类型:MPEG-DASH、Apple HLS、Adobe RTMP、Adobe HDS、RTSP/RTP all
    启用
  • SMIL文件:sopweekendsmil.SMIL(以下内容)
SMIL文件(在底部发布的测试url中,由于隐私问题,我目前使用的SMIL与本SMIL中描述的不同-以下是实际项目的SMIL文件):


我在wowza服务器上的相应文件夹中有上述视频

在应用程序网页中: 我正在使用JW Player,并使用以下代码嵌入JW Player(版本6.9):


jwplayer(“myElement”).setup({
回退:没错,
宽度:640,
身高:480,
资料来源:[{
文件:“http://[serverurl]:[port]/weekendsmil/smil:sopweekendsmil.smil/jwplayer.smil”
},{
文件:“http://[serverurl]:[port]/weeks/smil:sopweekendsmil.smil/playlist.m3u8”
},{
文件:“http://[serverurl]:[port]/weeks/smil:sopweekendsmil.smil/manifest.f4m”
},{
文件:“http://[serverurl]:[port]/weeks/smil:sopweekendsmil.smil/manifest.mpd”
}],
rtmp:{
缓冲区长度:“10”
},
插件:{
“qualitymonitor-2”:{}
}
}); 
(我真的不知道qualitymonitor插件是做什么的,或者它是否能工作。如果我把它取出来,它似乎没有任何影响…)。 我尝试了一系列JW播放器语法的变体,但这在桌面浏览器(Chrome/Firefox)上有效。但是,唯一能够在live中正常工作的文件/url似乎是jwplayer.smil。其他的都不能在桌面浏览器上工作——如果我拿出jwplayer.smil url来测试其他的浏览器,我会收到一条“找不到可播放的源代码”的消息。而且,无论我怎么尝试,这在任何移动浏览器上都不起作用。我只尝试了一个文件(例如.m3u8 smil url),但得到了相同的错误

当我在Wowza服务器界面中尝试测试播放器功能时,MPEG DASH测试工作正常,Adobe HDS工作正常(在chrome浏览器中),但我似乎无法让这些播放器在测试播放器之外工作

我觉得我缺少了一些概念性的东西——我需要为不同的消费者创建更多的实际文件吗?或者这可能是我如何设置JW播放器的?或者有什么东西被封锁了

测试URL:

任何帮助都将不胜感激

更新:我得到了部分工作-我更新了嵌入代码到 以下:

jwplayer("myElement").setup({
      fallback: true,
      width: 640,
      height: 480,
      androidhls: true,
      sources: [{
          file: "<?php echo $jwUrl; ?>",
          type: "rtmp"
      },{
          file: "<?php echo $hlsUrl; ?>",
          type: "hls",
          "default": "true"
      },{
          file: "<?php echo $dashUrl; ?>",
          type: "dash"
      }],
      rtmp: {
          bufferlength: '10'
      }
  });
jwplayer(“myElement”).setup({
回退:没错,
宽度:640,
身高:480,
安德洛伊德:是的,
资料来源:[{
文件:“”,
类型:“rtmp”
},{
文件:“”,
类型:“hls”,
“默认值”:“true”
},{
文件:“”,
类型:“破折号”
}],
rtmp:{
缓冲区长度:“10”
}
});
我试图完全关闭RTMP,因为我知道这应该是 能够在没有RTMP的情况下工作,但在chrome或 firefox for OSX,所以当我将其添加回并使HLS成为 默认情况下,我可以让流在移动和桌面上播放 浏览器是否正确。如果我有一个不同的默认值,手机 浏览器不播放流…仍然试图解决为什么没有播放流 桌面浏览器工作,如果我不流在RTMP从Wowza


RTMP是一种Flash格式,永远不会在手机上播放。HLS是实现最大跨设备和跨浏览器兼容性的首选格式。

RTMP是闪存格式,永远不会在移动设备上播放。HLS是实现最大跨设备和跨浏览器兼容性的首选格式。

一个想法:您拥有JW Player的哪个许可证?免费版本没有完整版本支持的功能多。在Flash模式下的HLS播放受到限制。很好的一点-我目前正在使用7.x的免费版本进行测试。我的理解是,它应该按顺序尝试每个流,直到其中一个流起作用,这似乎是,在移动设备上,它应该尝试rtmp,认识到它不起作用,然后再尝试下一个流(假设我去掉“默认值”)……但它似乎没有这样做……我不确定它是否可以在没有Flash支持的移动设备上播放rtmp,这是非常罕见的案例一个想法:你有JW玩家的哪个许可证?免费版本没有完整版本支持的功能多。在Flash模式下的HLS播放受到限制。很好的一点-我目前正在使用7.x的免费版本进行测试。我的理解是,它应该按顺序尝试每个流,直到其中一个流起作用,这似乎是,在移动设备上,它应该尝试rtmp,认识到它不起作用,然后再尝试下一个流(假设我去掉“默认值”)……但它似乎没有这样做……我不确定它是否可以在没有Flash支持的移动设备上播放rtmp,这是非常罕见的情况嘿,伊隆-是的,我知道-国际空间站
<script type="text/javascript">
    jwplayer("myElement").setup({
        fallback: true,
        width: 640,
        height: 480,
        sources: [{
            file: "http://[serverurl]:[port]/Weekends/smil:sopweekendsmil.smil/jwplayer.smil"
        },{
            file: "http://[serverurl]:[port]/Weekends/smil:sopweekendsmil.smil/playlist.m3u8"
        },{
            file: "http://[serverurl]:[port]/Weekends/smil:sopweekendsmil.smil/manifest.f4m"
        },{
            file: "http://[serverurl]:[port]/Weekends/smil:sopweekendsmil.smil/manifest.mpd"
        }],
        rtmp: {
            bufferlength: '10'
        },
        plugins: {
             'qualitymonitor-2':{}
         }
    }); 
</script>
jwplayer("myElement").setup({
      fallback: true,
      width: 640,
      height: 480,
      androidhls: true,
      sources: [{
          file: "<?php echo $jwUrl; ?>",
          type: "rtmp"
      },{
          file: "<?php echo $hlsUrl; ?>",
          type: "hls",
          "default": "true"
      },{
          file: "<?php echo $dashUrl; ?>",
          type: "dash"
      }],
      rtmp: {
          bufferlength: '10'
      }
  });