我目前有一个有效的Brightcove智能播放器实现,默认使用Flash,不支持Flash的HTML5后备(读取:iOS).我想颠倒这一点:更喜欢HTML5视频,并使用Flash作为后备. 这是可能的,如果是的话,怎么样?Brightcove似乎完全忽略了提供HTML5选项的意义,因为它使用它作为后备而不是首选格式.
此外,尽管Brightcove在18个月前宣布了支持WebM和H.264的计划,但似乎HTML5播放器仍然只支持H.264.Firefox不能(也可能永远不会)支持专利(以及IMO,意识形态)原因的 H.264 .Firefox的使用范围太广,无法在寒冷中遗漏.有没有办法通过Brightcove向Firefox提供WebM HTML5视频?
假设我有视频 ID,我可以访问视频的静止图像吗?
我已经阅读了媒体 API 和缩略图 URL 和 videoStillURL 的读取函数,但不知道如何实现。
是否有使用给定 ID 的资产的静止图像的示例?
我正在为在Brightcove视频云上托管视频的网站创建视频站点地图.为了从网站获取所有视频信息,Brightcove建议从他们的以下表格的网址阅读回复
http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true
Run Code Online (Sandbox Code Playgroud)
url的输出是JSON,其中accountToken只是帐户的标识符.
当我在浏览器中使用Token点击上面的url时,它会给我正确的响应.
我写了下面的程序片段来读取该URL
URL jsonURL = new URL("http://api.brightcove.com/services/library?token="+accountToken+"&page_size=1&command=find_all_videos&output=JSON&get_item_count=true");
HttpURLConnection connection = (HttpURLConnection) jsonURL.openConnection();
connection.setRequestMethod("GET");
connection.connect();
BufferedReader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
String lineRead = "";
while (reader.ready()) {
lineRead = lineRead + reader.readLine();
}
Run Code Online (Sandbox Code Playgroud)
由于我的浏览器使用代理,我添加了以下代码以包含代理设置
System.setProperty("http.proxyHost", "my.proxyurl.com");
System.setProperty("http.proxyPort", "80");
Run Code Online (Sandbox Code Playgroud)
不使用代理设置,它返回java.net.ConnectException: Connection refused: connect并使用代理它给我java.io.IOException: Server returned HTTP response code: 503
所以我的问题是,为什么它给我503(服务不可用)错误?从浏览器它的工作正常.
更新1: 这似乎是网络的一个问题.我ping了域名,它说"请求超时".但是通过HTTP工作.看起来像防火墙的问题.
我正在使用适用于iOS的Brighcove SDK播放一些视频.播放视频的基本设置是(基于Brightcove指南):
@interface VideoPlayerViewController()
@property (strong, nonatomic) id <BCOVPlaybackController> videoController;
@end
@implementation VideoPlayerViewController
-(void)viewDidLoad {
// create an array of videos
NSArray *videos = @[
[self videoWithURL:[NSURL URLWithString:@"http://cf9c36303a9981e3e8cc-31a5eb2af178214dc2ca6ce50f208bb5.r97.cf1.rackcdn.com/bigger_badminton_600.mp4"]],
[self videoWithURL:[NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"]]
];
// add the playback controller
self.controller = [[BCOVPlayerSDKManager sharedManager] createPlaybackControllerWithViewStrategy:[self viewStrategy]];
self.controller.view.frame = self.view.bounds;
// create a playback controller delegate
self.controller.delegate = self;
self.controller.view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
// add the controller view as a subview of the SVPViewController's view
[self.view addSubview:self.controller.view];
// turn on auto-advance
self.controller.autoAdvance = YES;
// …Run Code Online (Sandbox Code Playgroud) 我正试图在传递动态视频ID的同时渲染出brightcove媒体播放器.brightcoveData.Id是一个有效的guid,但我似乎无法正确传递参数,以便Rendering理解它.我从此组件中收到错误消息"未选择媒体项".
var embedMedia = new System.Collections.Specialized.NameValueCollection();
embedMedia.Add("playerId", "E7766078969C3AB892DD158E0E7230B9");
embedMedia.Add("width", "400");
embedMedia.Add("height", "300");
@Html.Sitecore().Rendering("/sitecore/layout/Renderings/Media Framework/Embed Media", new
{
DataSource = brightcoveData.Id,
Parameters = embedMedia
})
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.谢谢.
我正在尝试在反应组件中使用require.ensure:
componentDidMount() {
require.ensure([], () => {
require('public/jscripts/brightcove/index.js');
});
}
Run Code Online (Sandbox Code Playgroud)
但不断收到错误: Cannot set property 'default' of undefined
它发生在brightcove videojs脚本中的这一点:
// At this point, `window.videojs` will be the earliest-defined copy of this
// version of videojs.
var videojs = window.videojs;
// https://github.com/videojs/video.js/issues/2698
videojs['default'] = videojs;
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会发生这种情况?
完整的脚本在这里顺便说一句,我把它保存为本地文件,因此路径public/jscripts/brightcove/index.js:https://players.brightcove.net/1752604059001/B1xXFuBodW_default/index.js
我正在使用 videoJS 播放 Brightcove 上托管的视频。我只需给它一个 videoId ,它就会自动获取 src ,我猜它会被转换成类似 的 blob src src="blob:https://crap.crap"。
但是,似乎当我删除该<video>组件然后将其放回去时,视频会从源中重新获取,并且我不确定浏览器是否缓存了它。有谁知道是否可以手动缓存blobsrc?
编辑:它通过此协议进行流式传输
当用户点击带有播放按钮的图像时,我有以下代码来显示Brightcove播放器:
$(document).ready(function() {
$('#performanceVideo').hide();
$('#banner_text_wrap').click(function(e) {
e.preventDefault();
$('banner-image').hide().fadeOut(slow);
$('#performanceVideo').show().fadeIn(slow).css({'float':'left','margin-top':'-251px'});
});
});
Run Code Online (Sandbox Code Playgroud)
我希望在视频结束时将图像淡入淡出.如何使用jQuery挂钩视频结束事件?阅读文档我认为我需要包含addEventListener在代码中,但我是一个JavaScript新手,所以任何帮助表示赞赏.
当页面加载时,它包含一个第 3 方 iframe(读取:文件上传器)。我选择一个文件,单击“开始上传”按钮,上传完成后,我会收到一条“谢谢 - 上传完成”消息。
没有 Ajax 响应(据我所知)。
第三方确实允许我指定消息。我还可以在该消息中添加...。
上传完成后,我需要使用我从一开始就知道的 upload_file_id 更新隐藏输入。如果“上传完成”消息/时刻/事件,我想捕获/使用什么。但页面的动态性对我来说有点新鲜,我需要一些支持。
提前致谢。
我必须将Brightcove播放器集成在一个角度模态窗口中.
这是我通常会放入的目标代码,例如,用于显示视频的jQuery模式:
<object id="" class="BrightcoveExperience">
<param name="playerID" value="2132538346001" />
<param name="playerKey" value="key_here" />
<param name="dynamicStreaming" value="true" />
<param name="@videoPlayer" value="screencast.brightcove_id" />
<param name="bgcolor" value="#ffffff" />
<param name="width" value="480" />
<param name="height" value="360" />
<param name="isVid" value="true" />
<param name="isUI" value="true" />
<param name="wmode" value="transparent" />
<param name="seamlessTabbing" value="false" />
</object>
<script type="text/javascript">brightcove.createExperiences();</script>
Run Code Online (Sandbox Code Playgroud)
请注意在最后一行调用Brightcove函数,并在对象内调用{{screencast.brightcove_id}}(编辑:now screencast.brightcove_id,没有大括号)引用.我尝试将此代码放在Angular中,并在Angular之前引用Brightcove.js(或之后,它没有什么区别),但它不起作用.它抛出一个错误:
Cannot read property 'nodeName' of undefined
at hb (https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js:124:197)
Run Code Online (Sandbox Code Playgroud)
这显然不是Angular的做事方式,但我无法找到有关在Angular中集成其他Javascript工具的信息.你怎么做呢?
编辑:使用screencast.brightcove_id代替{{screencast.brightcove_id}}摆脱了错误消息.然而,角度绑定的替换不会发生,并且发送brightcove以寻找具有id"screencast.brightcove_id"的视频.手动插入正确的ID插件工作,但我需要角度来填充该字段.
Plunkr:http://plnkr.co/edit/H78jIrvx2EsxSSVijZMh?p =preview
我正在使用brightcove视频,它在firefox和chrome中运行良好,但在IE中它出现一次在页面加载然后立即消失,意味着视频没有显示在浏览器中.
这背后的原因是什么?
<script type="text/javascript">
var player;
var modVP;
function myTemplateLoaded(experienceID) {
player = brightcove.api.getExperience(experienceID);
modVP = player.getModule(brightcove.api.modules.APIModules.VIDEO_PLAYER);
$('.stillimage').stop().fadeOut(150);
$('.BrightcoveExperience').stop().fadeOut();
}
$('.video_resource_container .video_rotator .slideshow ul li:first').addClass('active-vd');
$('.video_resource_container .video_rotator .slideshow ul li input').click(function () {
$('.video_resource_container .video_rotator .slideshow ul li').removeClass('active-vd');
$(this).parent().addClass('active-vd');
});
function onTemplateReady(evt) {
}
function onMediaComplete(videoid, title, desc) {
$('.video_title').empty();
$('.video_title').html(title);
$('.video_para').empty();
$('.video_para').html(desc);
modVP.loadVideoByID(videoid);
}
</script>
Run Code Online (Sandbox Code Playgroud) 我正在使用 HTML5 视频标签实现视频播放器。我收到的视频资产由Brightcove托管和交付,它是一个m3u文件。是否可以通过 HTML5 视频标签播放此视频?
我认为来自 Brighcove 服务器的生成的 m3u 文件被设置为支持自适应比特率流。我尝试使用主文件(包含每个再现的详细信息)和每个单独的再现文件的 m3u 文件。
但是我的视频标签没有任何反应。控制台中没有任何错误,虽然我认为会有。我正在使用 Chrome,我在其他地方读过它支持 m3u 播放?
在您的回答中,请注意我对 HTML5 播放完全陌生——尤其是 m3u 文件。
这是我的示例代码:
<video controls autoplay="true">
<source src="http://brightcove.com/example/master.m3u?videoid=1234">
</video>
Run Code Online (Sandbox Code Playgroud)
生成的 m3u 文件的内容如下所示(敏感数据已删除):
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=716000,RESOLUTION=336x184
https://brightcove.com/services/rendition.m3u8?assetId=123456
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1325000,RESOLUTION=504x276
https://brightcove.com/services/rendition.m3u8?assetId=123456
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1797000,RESOLUTION=720x394
https://brightcove.com/services/rendition.m3u8?assetId=123456
Run Code Online (Sandbox Code Playgroud)
然后每个再现的内容看起来像这样:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="https://brightcove.com/services/keyfile?assetId=123456
#EXTINF:11,
#EXT-X-KEY:METHOD=AES-128,URI="https://brightcove.com/services/keyfile?assetId=123456
#EXTINF:11,
#EXT-X-KEY:METHOD=AES-128,URI="https://brightcove.com/services/keyfile?assetId=123456
#EXTINF:11,
etc...
Run Code Online (Sandbox Code Playgroud)