写点什么

使用京东云搭建视频直播网站

  • 2019-10-18
  • 本文字数:3631 字

    阅读完需:约 12 分钟

使用京东云搭建视频直播网站

视频直播是指利用互联网及流媒体技术进行直播,视频因融合了图像、文字、声音等丰富元素,声形并茂,效果极佳,逐渐成为互联网的主流表达方式。视频通过真实、生动的传播,营造出强烈的现场感,吸引眼球,达成印象深刻、记忆持久的传播效果,能够真实、直观、全面的宣传、展示自己。比较热的视频直播网站有花椒、斗鱼、虎牙、六间房等。


视频直播网站建设分为域名的注册、服务器的准备、视频资源的准备和网站的搭建几个部分,本文将以京东云的产品和服务为基础,进行视频直播网站的搭建,为小型企业或个人用户提供帮助。

一、注册域名

1、域名购买

具体注册流程可以查看京东云官网。


如果注册的是.cn 等国内域名,注册成功后还需要提交与域名注册信息相同的资料,进行实名制认证,成功后域名才能正常使用;如果在注册过程中,选择已实名认证的信息模板,则可以省略此步骤。

2、域名备案

网站备案是指向主管机关报告事由存案以备查考。行政法角度看备案,实践中主要是《立法法》和《法规规章备案条例》的规定。网站备案的目的就是为了防止在网上从事非法的网站经营活动,打击不良互联网信息的传播,如果网站不备案将会被拦截。


备案是域名指向国内 IP 时,在服务器提供商处的备案系统提交备案申请。如您购买了京东云服务器(有效期必须为 3 个月以上的包年/包月类型),且域名有使用备案的需求,即可按照如下图示操作:



备案详细流程请见京东云帮助文档

3、域名解析

初期网站小,内容较少,可以使用京东云云解析免费版,后期随着网站的扩容再根据情况选择企业版或企业高级版。详细操作流程见京东云帮助文档

二、准备服务器

域名注册后,则需要购买云上资源,根据网站规模选择购买云上资源,云上资源涉及到云主机、云存储(云硬盘、对象存储)和公网 IP&带宽,京东云按需配置云主机的操作系统、CPU、内存、硬盘及网络带宽,快速创建和释放,合理分配资源,并可根据需求进行横向和纵向的伸缩,避免资源浪费,初期可以先购买较低配置,后续根据业务需要再进行扩容。


本文使用 centos 服务器作为网站服务系统,创建 linux 实例详见京东云帮助文档

三、使用京东视频云完成直播源站配置

1、开通视频直播服务

打开京东云官网,进入产品-视频直播,点击开通服务,按指引开通视频直播服务。

2、配置推拉流域名

服务开通后,登录视频直播客户控制台,通过左侧菜单栏找到“视频服务”,点击“视频直播”子菜单,进入“域名管理”页面,点击“添加域名”,如下图:



推流域名:您申请并完成备案用作推流使用的合法域名


播放域名:您申请并完成备案用作播放使用的合法域名


注:推流和播放域名不能为同一个,域名必须完成备案真实有效


域名配置后,待审核完毕进入域名管理,点击管理,可查看推流和播放信息:




其中 AppName、StreamName 均为自定义,鉴权信息可暂不配置。

3、开始推流

京东云提供推流 SDK 能够帮助开发者快速实现稳定的视频直播采集和推流功能,实际推流时可以用用 SDK 开发移动端推流工具,或者使用桌面端的 OBS、FMLE、Xsplit 等工具进行推流,本文将使用京东云 SDK demo 进行推流测试,之后正式使用 OBS 进行推流。


使用京东云 demo 进行推流测试


进行推流配置,推流地址按《配置推拉流域名》章节中配置的推流域名,APPname 我们命名为 live,流名称命名为 livestream,如下图:



点击“开始直播”,点击“开始推流”,如下图:



进入视频直播控制台,在“流管理”中可以看到已经开始推流



使用 OBS 进行推流


OBS Studio 是一款视频直播录制软件,为用户提供了视频、文本、图像等的捕获录制功能。OBS Studio 界面简洁,功能强大,不仅录制质量好占用资源小而且还是免费的,是一款常用的直播推流工具。


访问OBS官网,下载安装,安装完毕后,进入设置界面,点击推流,服务器配置为推流地址,串流密钥为流名。



回到主页面,在来源处,进行推流内容配置,可配置桌面、摄像头、媒体源等,本处以媒体源为例,添加媒体源后选定本地媒体文件:




点击右侧开始推流按钮,开始推流:



开始推流后,进入控制台可以看到流名为 test1 的地址开始推流:


4、播放测试

本文使用开源 VLC 播放器进行播放测试。VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。


在控制台,流管理中,点击推流中的流名后面的“直播地址”:



复制其中一个地址,打开 VLC 播放器,点击媒体-打开网络串流,




左侧为播放画面,右侧为推流画面(播放画面比推流画面滞后)。

四、网站搭建

网站需要 web 服务器来架构,网页设计美工人员(使用 flash、dreamweaver、firework、photoshop 等设计工具),网页开发人员(使用 ASP、JavaScript、PHP、HTML、ASPX&.net 等语言)。本文使用 Apache 进行网站搭建,不包括 html 开发。


Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。


Apache HTTP 服务器是一个模块化的服务器,源于 NCSAhttpd 服务器,经过多次修改,成为世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

1、服务搭建

云主机购买后,我们使用 SSH 工具连接主机,进行配置,本文使用 putty 工具进行介绍(putty 是一个开源的 Telnet、SSH、rlogin、纯 TCP 以及串行接口连接软件)。


登录京东云控制台,选择弹性计算-云主机-实例,可看到购买的主机实例:



打开 putty 进行连接:



使用 root 账户登录



使用 yum 包安装 Apache 软件


# yum -y install httpd* -安装Apache软件 # rpm -qa | grep httpd --查看安装的http包
复制代码



显示如上图,安装成功。


安装成功后,会产生下面两个文件


/etc/httpd/conf/httpd.conf # 主配置文件 /var/www/html # 网站根目录
复制代码


配置 Apache 服务开机启动:


# systemctl enable httpd
复制代码



启动 Apache 服务:


# systemctl start httpd --启动httpd服务 # lsof -i:80 --查看httpd服务是否启动
复制代码



如上图则表示服务启动成功。


打开浏览器,输入云主机公网 IP,显示下图:


2、网站内容建设

本文使用 HTML 搭建一个简单的网页结构。


HTML 由 N 个标签(节点、元素、标记)组成


HTML 语法非常松散


常见的 HTML 标签


标题:h1,h2,h3,h4,h5…


段落:p


换行:br


容器:div,span(用来容纳其他标签)


表格:table,tr,td


列表:ul,ol,li


图片:img


表单:input


链接:a


一个最简单 html 页面代码如下:


1<!DOCTYPE html> 2<html> 3    <head> 4        <title>这是个标题</title> 5    </head> 6    <body> 7        <h1>一个简单的网页</h1> 8        <p>Hello World!</p> 9    </body>10</html>
复制代码


我们使用 vediojs 进行网页上的视频播放,Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,Video.js 自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器。


我们做一点简单的内容填充、格式布置,将播放地址嵌入,代码中为封面图片,大家可以将自己喜欢的图片上传到京东云 OSS,获取外部访问链接。调整后全部代码如下:


1<html>   2  <head>   3  <title>直播网</title>   4  <meta charset="utf-8">   5  <link href="http://vjs.zencdn.net/5.5.3/video-js.css" rel="stylesheet">  6 </head>   7<body>   8 <center><h1>视频直播网(示例)</h1></center> 9    <center><h2>Powered by JDcloud</h2></center>10    <center>11 <video id="my-video" class="video-js" controls preload="auto" width="640" height="300"  12 poster="https://vvv-test.s3.cn-east-1.jdcloud-oss.com/jdcloud.jpg" data-setup="{}">  13    <source src="rtmp://vpull.jdpoc.com/live/test1" type="rtmp/flv">  14    <!-- <source src="http://vpull.jdpoc.com/live/livestream.m3u8" type='application/x-mpegURL'> -->  15    <p class="vjs-no-js">  16      To view this video please enable JavaScript, and consider upgrading to a web browser that  17      <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>  18    </p>  19 </video>  20 <script src="http://vjs.zencdn.net/5.5.3/video.js"></script>  21</body>  22</html> 23<center>
复制代码


将该文件保存为


index.html
复制代码

3、上传网页文件至云服务器

我们使用 putty 官方提供的 PSCP 来上传文件。打开 putty 安装目录,查看是否有 PSCP:



如果没有可以去官网下载。


我们以广泛使用的 windows 系统系统为例,进行网页文件上传。打开 cmd,使用 cd 命令行访问到 putty 安装目录:



把本地文件上传到 LINUX 服务器的目录中。


命令格式:pscp 文件 用户名 @LINUXIP:目录



输入密码后,显示如上图则复制成功。

4、网站展示

打开浏览器,输入云主机公网 IP,网站显示如下:



在没有推流时,显示静态图片,推流时显示视频画面。至此,一个基本的视频直播网站的全部前后台系统已经搭建完毕。


2019-10-18 13:201564

评论

发布
暂无评论
发现更多内容

机器学习·笔记之:Matrices and Vectors

Nydia

京东支付SDK重构设计与实现

京东数科风险算法与技术

精美的淘客项目完全开源啦,确定不来围观吗

Silently9527

Vue mybatis springboot uniapp

产品训练营第三次作业

Geek_79e983

python爬虫入门-通过茅台脚本讲些爬虫知识,应用和价值

大佬sam

Python python 爬虫 2月春节不断更

《学会写作》学习笔记之如何拟标题

JiangX

28天写作

学习计算机视觉

IT蜗壳-Tango

OpenCV 计算机视觉 2月春节不断更

Spring - IOC

小马哥

Java 架构师 spring 5 七日更

【LeetCode】子集问题debug模式查看数据变化

Albert

算法 LeetCode 2月春节不断更

产品经理训练营作业 02

KingSwim

持续交付

lidaobing

持续交付 28天写作

被接连封杀后,出海的“TikTok们”都打算如何做?

李忠良

28天写作

翻译:《实用的Python编程》README

codists

Python

架构师训练营第十周作业

zamkai

产品训练营-作业3

简小一

为啥写的mybatis插件没用?一场mybatis插件加载机制的探索之旅

altantisor

spring Boot Starter mybatis源码

极客大学·产品经理训练营·第二章作业(二)

二大爷

极客大学 产品训练营

产品训练营第二章作业(二)

Arnold

图解计算机结构与体系分类!!

冰河

编程 程序员 高并发 计算机结构 操作系统原理

【并发编程的艺术】详解单例模式的实现方式(Java)

程序员架构进阶

设计模式 Java内存模型 七日更 28天写作 2月春节不断更

分页方式,看这一篇就够了。

大伟

分页

管理笔记[4]:组织管理的目标就是实现1+1>2

L3C老司机

翻译:《实用的Python编程》00_Setup

codists

Python

28天瞎写的第二百三十五天:客服得有多专业?

树上

28天写作

硬核!八张图搞懂 Flink 端到端精准一次处理语义 Exactly-once(深入原理,建议收藏)

五分钟学大数据

大数据 flink

不会开发的你也能管理好企业漏洞,开源免费工具:洞察(insight II)

BigYoung

安全 安全漏洞 28天写作 2月春节不断更

一文看完TCP/IP协议基础知识点

开发质量提升系列:标准模板(中)

罗小龙

最佳实践 方法论 28天写作

「产品经理训练营」作业03:利益相关方识别

狷介

产品经理训练营

批判性思维自修课(六)

石君

28天写作 批判性思维

创业失败启示录|样茶里的商机

阿萌

28天写作 创业失败启示录 青城 2月春节不断更

使用京东云搭建视频直播网站_架构_吴世超_InfoQ精选文章