关于video.js的一些普遍怀疑

时间:2012-12-13 20:30:21

标签: html5-video video.js

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

  1. video.js是否支持HLS视频格式?如果确实如此,那么什么是平台? (浏览器,设备,浏览器......?)。对不起,我在网站上搜索过这个并没有找到任何内容。

  2. 我看到Ogg和MP4文件格式是最受支持的文件类型,WebM并不是那么多。我搜索了什么是WebM ...是HLS?是否有其他支持的文件格式,而不是网站上未列出的文件格式?

  3. video.js是否支持视频广告和Google Analytics?

  4. 播放功能,类似于视频最后的列表,我可以选择另一个。这可能吗?

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

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

  7. 我想是的。

    如果有人能提供帮助,我会非常高兴。

3 个答案:

答案 0 :(得分:13)

  

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

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

  

我看到Ogg和MP4文件格式是支持的文件类型最多,   和WebM不是那么多。我搜索了什么是WebM ......就是这样   HLS?是否有其他支持的文件格式,而不是未列出的文件格式   网站?

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

enter image description here

  

video.js是否支持视频广告和Google Analytics?

评论

  

播放功能,类似于视频最后的列表   我可以选择另一个。这可能吗?

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

  

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

通过HLS,是的。

  

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

Video.js全部是开源的,皮肤是使用HTML,CSS和JavaScript构建的。如果你对这些技术感到满意,那就不难让它看起来像你想要的那样。

<强>摘要
在过去的几年里,Video.js一直是我的项目,但Zencoder(我的公司)被Brightcove收购,现在我全职工作,并从Brightcove球员团队获得帮助。期待大事即将来临。如果你感到受到启发,我仍然很乐意得到更多帮助。

答案 1 :(得分:2)

  

闪光灯是否兼容?

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

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

答案 2 :(得分: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 );

});
相关问题