我们遇到了JW Player的一个非常奇怪的问题,并且真的不知道解决它的方法.
JW Player显示错误:
加载媒体时出错:无法播放文件
偶尔会在所有浏览器和平台上出现(有时它会显示,有时则不显示).我花了30多次重装才得到它,我的一些同事第一次尝试就得到了它.它的行为是非常不一致的,有点随机.
我们在Windows服务器上运行的Apache Tomcat实例上使用FirstSpirit作为CMS.所有版本的Chrome,IE和Firefox都出现了问题.
所有视频的MIME类型都是正确的编解码器.如果支持,JW Player将以HTML5模式运行.我们仅将Flash用于较旧的浏览器(IE8 呻吟).
我将不胜感激任何帮助.谢谢!
马库斯
更新:右侧带有视频框的示例页面.带视频的示例页面
更新:我们从JW Player建议更新了Ethan版本,但它仍然无法正常工作.
我有JW Player 6的许可版本.我下载了文件并将它们放在assets/javascript目录中.除了皮肤目录,还有一个用于HTML5播放器的JS文件以及一个用于flash播放器的flash.swf文件.到目前为止,我所做的一切都在本地工作,但是当我推送到Heroku时,我会遇到错误.
第一次尝试:
在我的application.js档案中:
...
//= require jwplayer/jwplayer
//= require jwplayer/jwplayer.html5 # the file name is jwplayer.html5.js
...
Run Code Online (Sandbox Code Playgroud)
运行后,rake assets:clean ; rake assets:precompile我在视图中得到以下错误(在Heroku上):
An ActionView::Template::Error occurred in nodes#show:
jwplayer/jwplayer.html5.js isn't precompiled
Run Code Online (Sandbox Code Playgroud)
第二次尝试:
在我的application.js档案中:
...
//= require jwplayer/jwplayer
...
Run Code Online (Sandbox Code Playgroud)
然后,我将其添加到production.rb环境配置文件中:
# Also tried %w(jwplayer.html5.js)
config.assets.precompile += %w(jwplayer/jwplayer.html5.js)
Run Code Online (Sandbox Code Playgroud)
在清理和预编译资产并推送到Heroku之后,原始版本ActionView::Template::Error不再发生,但现在JW播放器显示以下消息:
Error loading player: HTML5 player not found
Run Code Online (Sandbox Code Playgroud)
这是HAML视图中的JW Player初始化:
:javascript
jwplayer("video_display_object_#{display_object.id}").setup({
width: "948",
height: "533",
image: "#{display_object.video_screenshot_url}",
file: "#{display_object.resource_url}",
modes: [
{ …Run Code Online (Sandbox Code Playgroud) 我正在使用jwplayer在我的网站上播放视频.我想实现这个场景:
我试图通过使用js来实现它.以下用于播放视频:
jwplayer('container').play();
Run Code Online (Sandbox Code Playgroud)
这用于停止jwplayer:
jwplayer('container').stop();
Run Code Online (Sandbox Code Playgroud)
功能正在使用chrome.但是在firefox中,当我第二次尝试播放视频时,jwplayer处于BUFFERING状态.还可以恢复为占位符图像.
还会在控制台中显示错误
错误:拒绝访问属性'toString'的权限
这是一个示例jsfiddle演示
请帮我找到解决方案.
谢谢
我正在使用jwpalyer制作VideoPlayer反应组件,我正在使用webpack es6来加载模块webpack支持npm模块加载并且jwplayer没有npm
所以我试图使用es6 import包含jwplayer.js,但它给了我错误ReferenceError:window未定义
所以任何人都可以帮我正确设置webpack的jwplayer
import React, { PropTypes, Component } from 'react';
import $ from 'jquery';
import Player from "./lib/jwplayer/jwplayer.js";
import styles from './VideoPayer.css';
import withStyles from '../../decorators/withStyles';
import Link from '../Link';
@withStyles(styles)
class VideoPlayer extends Component {
static propTypes = {
className: PropTypes.string,
};
static defaultProps = {
file: '',
image: ''
};
constructor(props) {
super(props);
this.playerElement = document.getElementById('my-player');
}
componentDidMount() {
if(this.props.file) {
this.setupPlayer();
}
}
componentDidUpdate() {
if(this.props.file) {
this.setupPlayer();
}
}
componentWillUnmount() {
Player().remove(this.playerElement);
} …Run Code Online (Sandbox Code Playgroud) 我有jwplayer 6,我想禁用jwplayer时间滑块.有谁知道我怎么能禁用它的功能

我们目前使用带有JW Player 6和RTMP协议的CloudFront Streaming发行版.但是,我们的一些企业用户告诉我们他们看不到视频,因为他们阻止了RTMP的端口1935.
CloudFront支持通过端口1935和80的RTMP流.它还支持通过HTTP隧道传输的RTMPT流.
所以我可以选择通过端口80或使用HTTP的RTMPT流式传输RTMP.
在这两者之间,什么选项最好是有更好的性能(更少问题和容易出错),同时避免被防火墙阻止?
谢谢!
我正在尽力保护我们的CDN上的HTTP直播格式视频.我想防止热链接,共享URL,阻止访问尚未发布的流.
每个视频都有多个比特率,因此HLS文件由一个主m3u8清单组成,该清单指向几个子清单文件,这些文件又指向ts文件(传输流).这些ts文件是mp4视频的9秒段.
HLS文件存储在我们的CDN上,可以通过HTTPS访问.我们在CDN(Edgecast)上启用了令牌身份验证.
这些视频将从付费专区后面流式传输,并且需要在不支持AES加密的JWPlayer中播放.
我最好的选择是什么?现在我正在生成m3u8清单文件并将令牌插入.ts文件的URL.这样ts文件只有60分钟有效吗?使用令牌保护子清单文件更聪明吗?
是否有更好的方法来保护内容并仍然能够在JWPlayer 6中播放?
我试图创建一些POC来尝试使用jwplayer,但出于某种原因,jwplayer的全屏幕无效.
是否有任何方法可以在jwfyer中的jsfiddle中进行全屏工作
here is my jsfiddle
http://jsfiddle.net/hiteshbhilai2010/6YyXH/63/
Run Code Online (Sandbox Code Playgroud) 我想在 jwplayer 的 HTML5 模式下更改视频的播放速度。我对 Flash 浏览器不感兴趣,我们将仅对 HTML5 浏览器限制此功能
问题:我尝试在 jwplayer 中更改 HTML5 的播放率,但播放率未定义我在下面附上我的代码
jwplayer('my-video').setup({
sources: [
{file:'./test.mp4' , type: "mp4" },
],
width:'640px',
height:'360px',
image : './test.jpg'
});
$("#speed_10").click(function() {
myVid=$( "#my-video" ).find('.jwvideo').find('video');
alert(myVid.length);
alert($( "#my-video" ).find('.jwvideo').find('video').attr('src'))
alert(myVid.playbackRate)
alert($( "#my-video" ).find('.jwvideo').find('video').length)
$( "#my-video" ).find('.jwvideo').find('video').PlaybackRate=0.5;
});
Run Code Online (Sandbox Code Playgroud)
第一个警报为 1
第二个警报未定义
第三个警报显示“来源”
第四个警报为 1
我能够捕捉到 div 但无法在 jquery 中更改播放速率!!!
按照上面的链接,我也尝试过使用 java 脚本,它使用下面的代码工作
(document.getElementsByTagName('video')[0].playbackRate=0.2.
Run Code Online (Sandbox Code Playgroud)
但是如果我使用上面的代码,我如何将它用于多个视频,因为上面的代码中没有涉及 ID [上面的 javascript 没有传递唯一的 ID]
下面是 jwplayer 的 div 结构 
我正在使用以下源代码使用Jw Player 6显示视频文件。
<script>
jwplayer('video-front').setup({
height: 540,
width: 980,
image: "<?php echo $base_url; ?>/sites/default/files/video-front/thumbnail-223_0002.png",
playlist: [{
sources: [
{ file: "<?php echo $base_url; ?>/sites/default/files/video-front/1380575675.mp4" },
{ file: "<?php echo $base_url; ?>/sites/default/files/video-front/1380575748.webm" },
{ file: "<?php echo $base_url; ?>/sites/default/files/video-front/1380575648.flv" }
]
}]
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是图像未显示在我的视频中。只有我可以看到黑色背景。怎么了 提前致谢。