MP4和FLV点播流媒体服务与h5播放器解决方案(支持倍速)

服务器采用nginx,默认支持MP4和FLV格式,要支持rtmp需要安装拓展包。h5播放器采用video.js+flv.js。

一、nginx服务器部署

1.安装nginx

本文采用的docker容器部署,直接安装在本机亦可。

docker run -it --name nginx -p 80:80 -v ~/share/logs:/var/log/nginx -v ~/share/videos:/videos nginx bash

-v 可按自己的需求映射目录

2.修改许可nginx 跨域

在容器内/etc/nginx/目录下修改nginx.conf文件,在http内加入三行。

http{
	...
	add_header Access-Control-Allow-Origin *;
	add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
	add_header Access-Control-Allow-Headers X-Requested-With;
	...
}
3.修改地址指向视频目录

在容器内/etc/nginx/conf.d目录下修改default.conf文件,在server内新加一条location,这里注意location地址意思为/videos/的根目录为//videos/会被映射到/videos/

server {
   ...
   location /videos/ {
        root   /;
   }
   ...
}
4.重加载nginx配置文件

nginx -s reload

5.测试nginx流媒体服务可用

打开任意支持网络链接的视频浏览器,如VLC,打开链接http://<ip_host:port>/videos/test.flv测试,如果没有视频在/var/log/nginx下查看日志。

二、h5视频播放器

直接贴源码,在任意服务端上运行即可。

<!DOCTYPE html>
<html lang="en">
 
<head>
    <title>video</title>
    <!-- Video.js -->
    <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">
    <script src="https://unpkg.com/video.js/dist/video.min.js"></script>
    <script src="https://unpkg.com/flv.js/dist/flv.min.js"></script>
    <script src="https://unpkg.com/videojs-flvjs/dist/videojs-flvjs.min.js"></script>
</head>
 
<body>
    <div>
        <video id="videojs-flvjs-player" class="video-js vjs-default-skin vjs-big-play-centered"  width="1024" height="768"> </video>
    </div>
</body>
 
</html>
<script>
var flvUrl = "这里填地址";
 
var player = videojs('videojs-flvjs-player', {
    playbackRates: [0.5,1,1.5,2,3,5,10],
    techOrder: ['html5', 'flvjs'],
    flvjs: {
        mediaDataSource: {
            isLive: false,
            cors: true,
            withCredentials: false,
        },
    },
    sources: [{
        src: flvUrl,
        type: 'video/mp4'
    }],
    controls: true,
    preload: "none"
}, function onPlayerReady() {
    console.log('player ready')
 
    player.on('error', (err) => {
        console.log('first source load fail')
 
        player.src({
            src: flvUrl,
            type: 'video/x-flv'
        });
 
        player.ready(function() {
            console.log('player ready')
            player.load();
            player.play();
        });
    })
});
</script>
参考
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要搭建一个http-flv流媒体服务器,需要使用特定的软件和配置。HTTP-FLV是一种基于HTTP协议的流媒体传输协议,它可以实时传输FLV格式的音视频数据。以下是搭建http-flv流媒体服务器的步骤: 1. 选择合适的流媒体服务器软件。常见的流媒体服务器软件有Nginx、SRS和HLS等。这些软件都支持http-flv协议。 2. 下载并安装选择的流媒体服务器软件。具体的安装步骤可以参考官方文档。通常,安装过程只需要按照软件提供的指示进行即可。 3. 配置流媒体服务器。每个软件都有不同的配置文件,需要根据软件的要求进行相关配置。主要的配置包括监听端口、服务器地址、视频目录和日志等。 4. 添加FLV视频文件到流媒体服务器。将要传输的FLV视频文件放置到服务器的指定目录中。这样,流媒体服务器就可以提供该视频给客户端实时播放。 5. 启动流媒体服务器。执行流媒体服务器软件的启动命令,启动服务器。命令可能为nginx、./srs或service start等。 6. 验证流媒体服务器的工作状态。在浏览器中输入服务器的IP地址和HTTP-Flv端口号(例如http://192.168.1.100:8080),确认服务器能够正常工作,以及所添加的视频能够通过http-flv协议播放。 搭建一个http-flv流媒体服务器需要一定的技术基础,对于初学者来说可能有一定难度,但按照指引进行操作,可以成功完成搭建工作。通过http-flv流媒体服务器的搭建,您可以将FLV格式的音视频实时传输到支持http-flv协议的客户端,并进行在线播放

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值