使用JW Player和SMIL文件的Wowza VOD应用程序 - 无法在移动设备

时间:2015-11-17 18:38:40

标签: video-streaming mp4 jwplayer wowza jwplayer6

我在wowza论坛上发布了这个,但总共收到了0条回复,所以我也希望在这里发帖。我还没有做过很多媒体流工作,而且我试图关闭一个VOD项目的一些细节,这些项目基本上将视频流式传输到一个网站,并且遇到了启用正确流的问题。正确的消费者(例如:android浏览器,Chrome桌面浏览器,iOS等)。我已经通过一系列教程,论坛等循环,无法找到正确的解决方案,包括SO上的一些问题...

这是我设置的内容: 在Wowza: 我有一个VOD应用程序设置

  • 内容目录:
    $ {com.wowza.wms.context.VHostConfigHome} /内容/周末
  • 播放类型:MPEG-DASH,Apple HLS,Adobe RTMP,Adobe HDS,RTSP / RTP全部
    启用
  • SMIL文件:sopweekendsmil.smil(下面的内容)

SMIL文件(在底部发布的测试网址中,我目前使用的不同于此SMIL中描述的隐私 - 以下是实际项目的SMIL文件):

<?xml version="1.0" encoding="UTF-8"?>
<smil title="">
    <body>
        <switch>
            <video height="240" src="SOP_priorities_240p.mp4" width="320">
                <param name="videoBitrate" value="1000000" valuetype="data"></param>
                <param name="audioBitrate" value="48000" valuetype="data"></param>
            </video>
            <video height="360" src="SOP_priorities_360p.mp4" width="640">
                <param name="videoBitrate" value="2000000" valuetype="data"></param>
                <param name="audioBitrate" value="48000" valuetype="data"></param>
            </video>
            <video height="480" src="SOP_priorities_480p.mp4" width="720">
                <param name="videoBitrate" value="2000000" valuetype="data"></param>
                <param name="audioBitrate" value="48000" valuetype="data"></param>
            </video>
            <video height="540" src="SOP_priorities_540p.mp4" width="960">
                <param name="videoBitrate" value="2500000" valuetype="data"></param>
                <param name="audioBitrate" value="48000" valuetype="data"></param>
            </video>
            <video height="720" src="SOP_priorities_720p.mp4" width="1280">
                <param name="videoBitrate" value="5000000" valuetype="data"></param>
                <param name="audioBitrate" value="48000" valuetype="data"></param>
            </video>
        </switch>
    </body>
</smil>

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

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

<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>

(我真的不知道质量监视器插件的作用或者它是否正常工作。如果我把它拿出来似乎没有影响......)。 我尝试了一些使用JW Player语法的变体,但这适用于桌面浏览器(Chrome / Firefox)。但是,唯一正常工作的文件/网址似乎是jwplayer.smil。其他任何一个都不适用于桌面浏览器 - 我得到了一个&#34;找不到可播放的源代码&#34;如果我拿出jwplayer.smil网址来测试其他网址的消息。此外,无论我尝试什么,这都不会在任何移动浏览器上工作。我只试过一个文件(例如:.m3u8 smil url)并得到同样的错误。

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

我觉得我错过了一些概念性的文章 - 我是否需要为不同的消费者创建更多的实际文件?或者我可能是如何设置JW Player的?或者某些东西被封锁了?

测试网址:http://solsystech.com/

非常感谢任何帮助。

  

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

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'
      }
  });
     

我尝试完全关闭RTMP,据我所知这应该是   能够在没有RTMP的情况下工作,但是没有任何东西可以在chrome或   firefox for OSX,所以当我把它添加回来并制作HLS时   默认情况下,我能够在移动和桌面播放流   浏览器正确。如果我有一个不同的默认,移动   浏览器不播放流...仍然试图解决为什么没有   桌面浏览器可以工作,如果我不从Wowza流式传输RTMP ...

1 个答案:

答案 0 :(得分:0)

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