利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

原文转载自「刘悦的技术博客」https://v3u.cn/a_id_75

众所周知,在视频直播领域,有不同的商家提供各种的商业解决方案,其中比较靠谱的服务商有阿里云直播,腾讯云直播,以及又拍云和网易云的有偿直播服务,服务包括软硬件设备,摄像机,编码器,流媒体服务器等。但是其高昂的费用以及较高的准入门槛让许多个人和小型企业望而却步,本文要讲解的是如何使用nginx-rtmp搭建直播服务器,配合FFmpeg推流,在网页端vue.js作为载体利用video.js作为流播放器,打造一套可用的在线视频直播方案。

视频直播的流程可以分为如下几步:

采集 —>处理—>编码和封装—>推流到服务器—>服务器流分发—>播放器流播放

实现直播节目在终端上的展现。因为我这里使用的传输协议是RTMP, 所以只要支持RTMP 流协议的播放器都可以使用,这里我们使用nginx,

一般情况下视频采集处理后推流到流媒体服务器,第一部分功能完成。第二部分就是流媒体服务器,负责把从第一部分接收到的流进行处理并分发给观众。第三部分就是客户端播放,只需要拥有支持流传输协议的播放器即可

利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

搭建直播服务器是一个漫长而复杂的过程,编译设置有点繁琐。好在docker上有大把别人编译设置好的rtmp环境,所以可以直接拿来用,docker的优越性由此可见一斑,这里用到的是alfg/nginx-rtmp库。

安装docker,可以在阿里云的镜像上下载比较快一点http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

目前稳定版是DockerToolbox-18.03.0-ce.exe 直接点击安装即可

安装过程有一点需要注意,必须要开启本机bios的cpu虚化技术

安装好docker后,下载nginx-rtmp镜像,并且运行服务映射端口到1945和8000

docker pull alfg/nginx-rtmp docker run -it -p 1935:1935 -p 8000:80 --rm alfg/nginx-rtmp 

访问宿主的8000端口显示nginx欢迎页面

利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

然后利用FFmpeg进行推流操作,ffmpeg是什么请移步:Python3利用ffmpeg针对视频进行一些操作

输入命令,注意摄像头和麦必须和电脑的设备吻合,另外推流服务器也要推到刚刚部署好的nginx上面去

ffmpeg -f dshow -i video="VMware Virtual USB Video Device":audio="Microphone (High Definition Audio Device)" -tune:v zerolatency -f flv "rtmp://192.168.99.100:1935/stream/test" 

利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

推流成功后,我们就要在网站上观看现场直播了,这里前端服务我们使用vue.js来搭建,视频流播放器我们使用video.js

首先建立一个直播的脚手架项目,然后安装一下必要的直播库,最后启动项目

#建立项目 vue init webpack-simple zhibo cd zhibo cnpm install vue-router save cnpm install #安装直播组件 cnpm install video.js cnpm install aes-decrypter cnpm install m3u8-parser cnpm install mpd-parser cnpm install mux.js cnpm install url-toolkit cnpm install videojs-contrib-hls #热启动项目 cnpm run dev 

新建一个video.vue,添加播放代码

<template> <div> <video id="my-video" class="video-js vjs-default-skin" controls preload="auto" > <!-- 直播地址就是nginx映射后的播放地址,注意后缀为直播流的m3u8 --> <source src="http://192.168.99.100:8000/live/test.m3u8" > </video> </div> </template> <script> import videojs from 'video.js' import 'videojs-contrib-hls' export default { data () { return { } }, mounted:function(){ videojs('my-video', { bigPlayButton: true, textTrackDisplay: false, posterImage: true, errorDisplay: false, controlBar: true }, function () { this.play() }) } } </script> <style> </style> 

最后,在vue.js的路由里绑定video.vue组件,进入浏览器,测试直播播放

利用Docker挂载Nginx-rtmp(服务器直播流分发)+FFmpeg(推流)+Vue.js结合Video.js(播放器流播放)来实现实时网络直播

搞定收工

原文转载自「刘悦的技术博客」 https://v3u.cn/a_id_75

原文链接:https://www.cnblogs.com/v3ucn/p/16530755.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18332

(0)
上一篇 2023年8月22日
下一篇 2023年8月22日

相关推荐

  • seo优化排名

    对于同一个关键词,在百度搜索引擎上有的网站排名上升较快并且稳定,而有的网站就花费了无数功夫而无成效。百度内部关系说应势产生,认为当今社会现…

    网站百科 2023年9月28日
    00393
  • SEO优化实操方法总结【纯干货指南】

    硬核!(全程观看时长大约十分钟) 认真看完收获满满! 耗时3天!总结SEO实操过程中的操作要点,以及所思所想。 高能预警!全程1.4万字。奶妈式讲解,新手也能看懂!带你了解SEO核…

    2023年7月8日
    00565
  • 怎样给网站做seo优化?

    怎样给网站做seo优化? 怎样给网站做seo优化?的相关图 怎样给网站做seo优化,这个问题相信很多站长都遇到过,但是却没有很好的解决办法。其实要想解决这样的问题很简单:那就是多写…

    2024年3月18日
    00210
  • SEO优化

    当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果。深究其背后的故事,搜索引擎做了很多事情。 在搜索引擎网站,比如百度,在其后台有一个非常庞大的数据库,里面存储了海量的关键…

    网站百科 2023年8月7日
    00365
  • 什么是网站安全认证?

    展开全部 网站安全认证是Mcafee 公司通过ASV(McAfee)预定的季度扫描来认证等。中文名网站安全认证安全认证商Mcafee 公司方式ASV(McAfee)预定的季度扫描等…

    网站百科 2023年5月16日
    00581
  • CDN与DNS关系及其原理

    1.什么是cdn cdn全称是内容分发网络。其目的是让用户能够更快速的得到请求的数据。简单来讲,cdn就是用来加速的,他能让用户就近访问数据,这样就更更快的获取到需要的数据。举个例…

    网站百科 2023年12月5日
    00372
  • 服务器seo优化,SEO诊断之网站服务器优化

    前一章节子凡已经通过网站域名检查做过最基础的SEO 诊断,接下来也是网站 SEO 诊断中最基础,也是较为重要的要素,没有域名&#xff0c…

    2023年8月7日
    00358
  • 前端如何SEO优化

    前端如何SEO优化 一、搜索引擎工作原理 当我们在输入框中输入关键词,点击搜索或查询时,然后得到结果。深究其背后的故事,搜索引擎做了很多事…

    网站百科 2024年3月2日
    00325
  • SEO有哪些优化要点?

    俗话说得好早上的鸟儿有虫吃,做网站SEO优化也是如此,勤奋的人会比他人得到更大的效益,可是现实中许多的事情并不是靠勤奋就能成功的,这是需求讲究方法、战略,就比如做网站优化,在网站上…

    网站百科 2023年8月29日
    00406
  • 提高服务器效率和利用率的三种方法

    本文编辑:玲子 伴随经济全球化趋势的深入,越来越多企业使用香港服务器租用服务来搭建外贸网站,拓展海外市场。企业IT部门一直在寻求提高香港服务器效率的方法,最大限度地提高利用率以实现…

    网站百科 2024年6月18日
    00238

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml