您的位置:

视频直播:video.jsrtmp

一、video.jsrtmp介绍

video.jsrtmp是基于Video.js播放器的一个插件,用于与RTMP流进行交互。它支持RTMP协议的直播流和录播流,并支持多种流媒体服务器,例如Wowza、Red5、nginx-rtmp等。使用video.js结合video.jsrtmp可以提供一个完整的直播播放器。

通过在Video.js中引用videojs-contrib-hls和videojs-flash插件,video.jsrtmp可以自动检测是使用HLS还是RTMP进行流传送,并自动切换适当的播放方式。

video.jsrtmp的API使得它可以与video.js的现有API轻松集成。同时,Video.js还可以使用自定义的皮肤和插件,为网站提供更好的用户体验。

二、video.jsrtmp的优点

1. 与原生video.js API紧密集成。

video.jsrtmp可以充分利用video.js自带的高度可配置的皮肤和插件,在不损失对现有播放列表和存储管理的控制的同时,提供与RTMP流的高度交互性。

2. 平台无关性。

video.jsrtmp支持多种流媒体服务器,支持不同协议(RTMP和HLS)的流传输,从而在不同的平台上提供统一的视频播放经验。

3. 高度灵活性和可扩展性。

video.jsrtmp支持多种不同的嵌入方式,包括video标签、JavaScript和HTML5。同时可以通过各种自定义皮肤和插件来提供更好的用户体验。

三、video.jsrtmp使用指南

1. 在页面中引用所需的下载文件(必需项):


<link href="//vjs.zencdn.net/7.8.4/video-js.css" rel="stylesheet" />


<script src="//vjs.zencdn.net/7.8.4/video.js"></script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-flash/2.1.0/videojs-flash.min.js"></script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.15.0/videojs-contrib-hls.js"></script>


<script src="https://unpkg.com/videojs-flash/dist/videojs-flash.min.js"></script>
<script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.min.js"></script>
<script src="https://unpkg.com/videojs-rtmp/dist/videojs-rtmp.min.js"></script>

2. 在HTML文件中添加video标签:

  

source标签中的第一行将根据是否支持RTMP流来决定是否播放HLS或RTMP流。

四、video.jsrtmp的实例代码

1. 实际项目中使用video.jsrtmp进行视频直播:

  

<script>
  var player = videojs('mec-video-player');
  player.rtmp({
    fallbackSrc: 'rtmp://10.0.10.125/vod/sample.mp4',
    src: 'rtmp://10.0.10.125/live/123456',
    // 针对rtmp服务做设置
    rtmp: {
        // 这个参数必须设为true,因为是rtmp流的播放形式
        swf: './videojs.swf',
        // 不支持html5的视频源
        fallback: true,
        // 缓冲时间
        buffer: 5
    },
    // 针对错位的视频src做设置
    error: function() {
        player.src(this.options().fallbackSrc);
    }
});
</script>

2. 支持加密的rtmp视频播放:

  

五、总结

video.jsrtmp是一个强大的插件,使得Video.js可以与RTMP流进行交互。它提供了一种与多种流媒体服务器兼容的选择,同时还具有多个优点,例如紧密集成、平台无关性、高度灵活性和可扩展性。在实际项目中可以通过引入必要的文件和使用html5的video标签来轻松实现视频直播功能。