6

我对球员有一些普遍的怀疑。我会列出它们:

  1. video.js 是否支持 HLS 视频格式?如果是这样,在什么平台上?(浏览器、设备、浏览器...?)。对不起,我在网站上搜索了这个,没有找到任何东西。

  2. 我看到 Ogg 和 MP4 文件格式是最受支持的文件类型,而 WebM 则不是那么多。我已经搜索了 WebM 是什么……那是 HLS 吗?除了网站上未列出的文件格式之外,还有其他支持的文件格式吗?

  3. video.js 是否支持视频广告和谷歌分析?

  4. 播放功能,类似于视频结尾的列表,我可以在其中选择另一个。那可能吗?

  5. 是否支持自适应流媒体?也就是根据不断变化的网络条件调整传送到网页的视频质量?

  6. 自定义玩家创建皮肤并在其上应用它们是否容易?例如,我可以在播放器上放置我的网站符号吗?

我认为是这样。

如果有人可以提供帮助,我将非常高兴。

4

3 回答 3

13

video.js 是否支持 HLS 视频格式?如果是这样,在什么平台上?(浏览器、设备、浏览器...?)。对不起,我在网站上搜索了这个,没有找到任何东西。

是的,今天在任何通过 HTML5(iPhone、Desktop Safari)支持它的平台上使用源代码上的“application/x-mpegURL”mimetype。很快也将在所有桌面上支持 HLS。

我看到 Ogg 和 MP4 文件格式是最受支持的文件类型,而 WebM 则不是那么多。我已经搜索了 WebM 是什么……那是 HLS 吗?除了网站上未列出的文件格式之外,还有其他支持的文件格式吗?

实际上,就最终用户支持而言,WebM、MP4 和 Ogg 现在都非常紧密地联系在一起。WebM 与 Ogg 一样是一种开放且免费的格式,但压缩效果更好。WebM 不是 HLS。HLS 是 MPEG-TS 视频文件段的播放列表。

在此处输入图像描述

video.js 是否支持视频广告和谷歌分析?

很快。

播放功能,类似于视频结尾的列表,我可以在其中选择另一个。那可能吗?

您可以自己构建它。目前还没有预制的解决方案。

是否支持自适应流媒体?也就是根据不断变化的网络条件调整传送到网页的视频质量?

通过 HLS,是的。

自定义玩家创建皮肤并在其上应用它们是否容易?例如,我可以在播放器上放置我的网站符号吗?

Video.js 都是开源的,皮肤是使用 HTML、CSS 和 JavaScript 构建的。如果您对这些技术感到满意,那么让它看起来像您想要的应该不难。

总结
过去几年 Video.js 一直是我的副项目,但 Zencoder(我的公司)被 Brightcove 收购,现在我开始全职工作,并得到 Brightcove 玩家团队的帮助。所以期待大事的到来。如果您受到启发,我仍然很乐意获得更多帮助。

于 2012-12-14T21:31:49.283 回答
2

那个闪光灯兼容吗?

是的:如果配置正确,如果浏览器本身不支持该<video>元素,它将回退到使用其内置的 Flash 播放器。

您可以覆盖它,例如强制它一直使用它的 Flash 播放器。

于 2013-02-25T20:14:37.127 回答
1

您可以使用以下 API 自定义在 Google Analytics 中跟踪 VideoJS 3.2 视频事件:

// Once the video is ready
_V_("video-embed-1234").ready(function(){

    // Google Analytics event tracking
    var trackGaEvent = function() {
        var playerState = this;

        // Determine time
        var date = new Date( event.timeStamp );

        var hours = date.getHours();
        if ( hours < 10 ) hours = "0" + hours.toString();
        var minutes = date.getMinutes();
        if ( minutes < 10 ) minutes = "0" + minutes.toString();
        var seconds = date.getSeconds();
        if ( seconds < 10 ) seconds = "0" + seconds.toString();

        var formattedTime = hours + ':' + minutes + ':' + seconds;

        // Log event
        var gaCategory = 'VideoJS';
        var videoId = playerState.id;
        var playerStateUrl = videoId.replace('benchfly-embed-', 'https://secured.benchfly.com/player/') + '/';
        _gaq.push([ '_trackEvent', gaCategory, event.type, playerStateUrl, formattedTime, false ]);
    };

    // Attach GA tracking to event listeners
    this.addEvent( "play", trackGaEvent );
    this.addEvent( "pause", trackGaEvent );
    this.addEvent( "load", trackGaEvent );
    this.addEvent( "ended", trackGaEvent );
    this.addEvent( "volumechange", trackGaEvent );

});
于 2013-01-07T17:35:55.653 回答