Video streaming 带有JW播放器和SMIL文件的Wowza VOD应用程序-不适用于移动设备
我在wowza论坛上发布了这篇文章,但总共收到了0条回复,所以我也想在这里发布。我还没有做过很多流媒体的工作,我正在尝试结束一个视频点播项目的一些细节,该项目基本上是将视频流到一个网站,并遇到了一个问题,即如何将正确的流发送给正确的消费者(例如:安卓浏览器、chrome桌面浏览器、iOS等)。我已经浏览了一大堆教程、论坛等,但找不到正确的修复方法,包括这里的一些问题,所以 以下是我的设置: 关于Wowza: 我设置了一个视频点播应用程序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
- 内容目录:
${com.wowza.wms.context.VHostConfigHome}/content/Weekends - 播放类型:MPEG-DASH、Apple HLS、Adobe RTMP、Adobe HDS、RTSP/RTP all
启用 - SMIL文件:sopweekendsmil.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'
}
});