• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

手机直播 搭建服务器、推流管理、实现直播、创建直播APP

Mr.Lee 由 Mr.Lee
2018年5月20日
在 Yii, Yii手机直播, 后台框架
0
手机直播 搭建服务器、推流管理、实现直播、创建直播APP
0
分享
1
浏览


手机直播

手机直播 1

1. 搭建直播服务器 2

1.1. 下载srs代码至服务器 2

1.2. 编译安装直播服务器 2

2. 搭建一个简单的推流和拉流地址管理 3

2.1. 创建一个用于保存推流和拉流地址的表 3

2.2. 使用Yii2创建一个项目 4

2.3. Yii2框架的手册要点 4

2.4. 启动Yii2项目的测试服务器 4

2.5. 修改数据库配置 4

2.6. 使用gii生成live表的增删改查 5

2.6.1. 生成live表对应的模型 5

2.6.2. 生成增删改查 5

3. 使用srs提供有效的推流和拉流地址 5

3.1. 使用srs启动一个rtmp协议的直播服务 5

3.2. 获取推流和拉流的默认地址并进行测试 6

3.3. 将推流和拉流地址分别存入数据库live表中 6

4. 使用apicloud创建直播APP 6

4.1. 注册apicloud账号 6

4.2. 创建一个APP 6

4.3. 将APP的初始代码检出到本地 6

4.4. 在APP中请求PHP提供的接口获取推流和拉流地址 7

4.4.1. 编写PHP接口提供数据 7

4.5. 在APP端通过接口获取对应数据 7

5. 使用palyModule实现直播 7

5.1. 添加playModule模块 8

5.2. 编写代码获取推流地址 8

5.3. 上传代码云编译 8

6. 实现推流 8

6.1. 实现推流地址下拉列表框 8

6.2. 使用模块插件ytylive实现推流效果 8

6.2.1. 选择模块插件 8

6.2.2. 编码实现推流 8

6.2.3. 使用播放器或者新的安卓模拟器进行效果查看 8

搭建直播服务器

Nginx的rtmp插件:

官网参考:https://github.com/arut/nginx-rtmp-module

Srs直播服务器:

官网参考:https://github.com/ossrs/srs

中文文档参考:https://github.com/ossrs/srs/wiki/v3_CN_Home

下载srs代码至服务器

git clone https://github.com/ossrs/srs.git

编译安装直播服务器

注意:在编译安装的时候,需要关闭防火墙:

=》cd /trunk

=》./configure –prefix=/www/server/srs –with-ffmpeg

//–prefix=/www/server/srs指定安装位置

//–with-ffmpeg编译ffmpeg模块

=》make -j2 //编译srs程序

//-j2 可选项指定是使用的CPU核数指有CPU有多少核,用来加快编译速度

=》make install

或者:

./configure –prefix=/www/server/srs –with-ffmpeg && make -j2 && make install

启动srs服务器

搭建一个简单的推流和拉流地址管理

创建一个用于保存推流和拉流地址的表

建表语句:

CREATE TABLE applive.live

(

id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,

push_url VARCHAR(255) COMMENT ‘推流地址’,

pull_url VARCHAR(255) COMMENT ‘拉流地址’

);

CREATE UNIQUE INDEX live_push_url_uindex ON applive.live (push_url);

CREATE UNIQUE INDEX live_pull_url_uindex ON applive.live (pull_url);

ALTER TABLE applive.live COMMENT = ‘保存直播的推流和拉流的表’;

使用Yii2创建一个项目

参考官网最新的文档:http://www.yiiframework.com/doc-2.0/guide-start-installation.html

下载Yii2源代码:

如果没有安装composer:

curl -sS https://getcomposer.org/installer | ph

mv composer.phar /usr/local/bin/composer

进入到可以通过web访问的目录

=》composer global require “fxp/composer-asset-plugin:^1.2.0”

创建一个项目:

composer create-project –prefer-dist yiisoft/yii2-app-basic AppLive

Yii2框架的手册要点

启动Yii2项目的测试服务器

=》cd /wokers/AppLive 进入项目目录

=》php yii serve/index

修改数据库配置

修改默认的数据库以及数据库用户名和密码

由于Yii框架默认配置了数据库以及数据库的用户名和密码信息,所以需要修改成自己的数据库配置信息:

使用gii生成live表的增删改查

多学一招:线上部署如果想使用gii需要单独配置IP白名单

生成live表对应的模型

生成增删改查

使用srs提供有效的推流和拉流地址

使用srs启动一个rtmp协议的直播服务

由于需要以rtmp协议进行直播服务,所以要使用rtmp直播服务的对应配置文件来启动srs

=》cd /www/server/srs //切换到程序安装目录

=》./objs/src -c ./conf/rtmp.conf

获取推流和拉流的默认地址并进行测试

rtmp默认的推流地址:rtmp://服务器IP地址/live/livestream

rtmp默认的拉流地址:rtmp://服务器IP地址/live/livestream

例如:我的srs服务器对应的推流和拉流地址

推流地址:rtmp://116.62.60.90/live/livestream

拉流地址:rtmp://116.62.60.90/live/livestream

将推流和拉流地址分别存入数据库live表中

使用apicloud创建直播APP

注册apicloud账号

创建一个APP

将APP的初始代码检出到本地

注意:检出的用户名是注册时候的邮箱

在APP中请求PHP提供的接口获取推流和拉流地址

编写PHP接口提供数据

使用yii提供的gii代码生成工具生成输出直播数据的控制器

编写代码输出数据

访问上面生成的ApiController中的index方法

http://0.0.0.0:8080/?r=api/index

在APP端通过接口获取对应数据

注意:安卓模拟器中,无法直接访问localhost:8080

脚下留心:默认发送post请求时必须携带csrf token验证,否则报错,这里需要设置白名单:enableCsrfValidation=false

使用palyModule实现直播

添加playModule模块

编写代码获取推流地址

上传代码云编译

实现推流

实现推流地址下拉列表框

使用模块插件ytylive实现推流效果

选择模块插件

编码实现推流

使用播放器或者新的安卓模拟器进行效果查看

标签: 创建直播APP实现直播推流管理搭建服务器
上一篇文章

Laravel框架(一)安装、Composer、目录结构、路由、模型、视图、控制器

下一篇文章

DedeCMS二次开发(三)搜索页面、数据库操作

下一篇文章
DedeCMS二次开发(三)搜索页面、数据库操作

DedeCMS二次开发(三)搜索页面、数据库操作

发表回复 取消回复

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

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3