写点什么

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

  • 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:201421

评论

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

玖章算术CEO叶正盛在数据技术嘉年华分享NineData AIGC的应用实践

NineData

数据库 数据管理 AIGC 玖章算术 NineData

带你揭开神秘的Javascript AST面纱之Babel AST 四件套的使用方法

京东科技开发者

JavaScript AST 京东云 企业号 4 月 PK 榜

一文读懂 Nautilus Chain 上首个 DEX PoseiSwap 的通证经济

西柚子

面试官:说说MySQL主从复制原理

Java永远的神

MySQL 数据库 程序员 面试 主从复制

物流路由线路配载前端算法逻辑实现方案

京东科技开发者

前端 京东云 京东物流 企业号 4 月 PK 榜

iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践

京东科技开发者

ios 京东云 灵动岛 企业号 4 月 PK 榜

历史性的时刻!OpenTiny 跨端、跨框架组件库正式升级 TypeScript,10 万行代码重获新生!

华为云开源

typescript Vue 组件库

解决事务隔离产生问题的MVCC

Java你猿哥

Java ssm 架构师 MVCC

一文弄懂访问者模式

小小怪下士

Java 程序员 设计模式

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java你猿哥

Java 数据库 JVM java编程 Java性能优化

园林绿化设计工具:GardenPlanner Mac版

真大的脸盆

Mac Mac 软件 Mac 系统 园林设计工具 绿化设计

肝到头秃!阿里爆款的顶配版SpringCloudAlibaba学习笔记

架构师之道

微服务

MyBatis整合Springboot多数据源实现

Java你猿哥

spring Spring Boot mybatis ssm 数据源

MyBatis整合Springboot多数据源实现

做梦都在改BUG

Java Spring Boot mybatis

自阿里P8爆出内部1031道java面试题后,在Boss直聘狂拿千份Offer

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

GardenPlanner :花园式和景观设计工具

Rose

Garden Planner 景观设计工具 GardenPlanner注册版 花园设计

对标大厂的技术派方案设计,带你了解一个项目从0到1实现的全过程

Java全栈架构师

数据库 微服务 程序人生 后端 架构师

devops工具链基建建设评价标准

laofo

DevOps cicd 研发效能 持续交付 工程效率

Flink CDC 在京东的探索与实践

Apache Flink

大数据 flink 实时计算

有限资源下如何实现最高效的数据处理?四个“智慧城市”项目寻找“最优解”

TDengine

tdengine 物联网 时序数据库 智慧城市 数据优化

得帆云DeFusion融合集成iPaaS平台领先行业,打造先锋集成产品

得帆信息

打破信息孤岛 数据集成 集成平台 数据集成平台 ipaas

从内核源码看 slab 内存池的创建初始化流程

bin的技术小屋

操作系统 内存管理 Linux Kenel 内核 动态内存池

全能网页视频下载工具Downie使用教程

Rose

downie 4 Mac 视频下载工具 Downie使用教程 如何下载网页视频

活动 | GreatSQL社区亮相2023 DTC 分享开源技术成果实践

GreatSQL

软件测试/测试开发丨ChatGPT训练营来,手把手带你玩转ChatGPT

测试人

软件测试 自动化测试 测试开发 ChatGPT

小程序SDK集成到App有哪些好处?

没有用户名丶

前端代码安全与混淆

京东科技开发者

安全 京东云 企业号 4 月 PK 榜

Seal AppManager发布:基于平台工程理念的全新应用部署管理体验

SEAL安全

应用部署 企业号 4 月 PK 榜 Seal软件 SealAppManager

春风送暖,好久不见

BinTools图尔兹

版本发布

Spring全家桶思维笔记导图(Spring Boot+Cloud+IOC+AOP+MVC等)

Java你猿哥

spring Spring Cloud Spring Boot aop ioc

GPTCache:LLM 应用必备的【省省省】利器

Zilliz

Milvus Zilliz ChatGPT LLM 语义检索

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