直播系统开发:基于Nginx与Nginx-rtmp-module
  • 推荐0
  • 收藏9
  • 浏览1.7K

直播系统开发:基于Nginx与Nginx-rtmp-module

于连林 (作者) 

  • 书  号:978-7-121-35178-5
  • 出版日期:2018-12-28
  • 页  数:212
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:王静
电子书 ¥39.00
购买电子书
纸质版 ¥69.00
本书是一本通俗易懂的直播系统开发入门书籍。通过本书读者可以从零开始学习搭建直播系统。本书分为三部分,第一部分(第1章)主要介绍Nginx,包括什么是Nginx,为什么要选择Nginx,在特定的环境下如何安装、配置及使用Nginx。第二部分(第2~4章)主要介绍基于Nginx的Nginx-rtmp-module、FFmpeg组件的安装与配置,并完整地搭建了一个简单的直播系统。第三部分(第5~7章)主要介绍在多终端下如何使用不同技术建立基于直播的SDK,并介绍多种SDK相关技术框架。
本书适合对直播系统开发有兴趣的人员、高级语言开发者、音/视频开发入门者。
详细阐释直播系统的搭建
由浅入深,为初学者提供详细指导,为开发者答疑解惑
前言

直播系统开发前景
随着互联网技术的突飞猛进,短短几年,移动设备从最初的只能打电话、发短信和图片的非智能手机,发展为现在的装满社交、视频、支付、资讯等形形色色应用程序的智能手机,通信方式也从文字、图片变成音频、视频等,可见人类正经历一场通信方式的变革。
不知道读者有没有注意过,其实很早以前就出现过直播平台,最早的视频聊天室就是这种直播平台的前身。只是当时的主播需要依靠计算机等设备进行直播,观众也需要在电脑上观看。现在,随着科技的发展,大多数人至少都有一部智能手机,而且几乎走到哪里都有Wi-Fi,这就为移动直播奠定了良好的基础。因此,自2015年以来,直播领域已经成为商业巨头和新锐企业争夺的领域。
本书的目的与写作过程
这是一本简单、通俗易懂的直播系统开发入门书籍,通过它,读者基本可以从零开始学习直播系统的搭建过程。本书介绍了从Nginx的基本应用到Nginx-rtmp-module的应用,再到基础实现和架构,让读者可以从一个很低的起点快速了解如何部署直播服务器及开发SDK。
在开始规划本书之时,我们一直在考虑使用怎样的方式将直播系统开发技术以最简单、最便捷的方式展现给读者。最终,我们决定从搭建——应用——解决方案这3个宏观角度来阐述直播系统的开发过程。
如何阅读本书
本书分为三部分:
第一部分(第1章)主要介绍Nginx,包括什么是Nginx,为什么要选择Nginx,在特定的环境下如何安装、配置及使用Nginx。
第二部分(第2~4章)主要介绍基于Nginx的Nginx-rtmp-module、FFmpeg组件的安装与配置,并完整地搭建了一个简单的直播系统。
第三部分(第5~7章)主要介绍在多终端下如何使用不同技术建立基于直播的SDK,并介绍多种SDK相关技术框架。
读者对象
对直播开发有兴趣的人员。
高级语言开发者。
音/视频开发入门者。
本书作者
本书内容主要由卓朗技术团队中的于连林、张晓磊、韩艳莲、何金刚、荣蓉、马源、李强完成。如有相关问题,欢迎发送邮件到:yll@520wcf.com ,也欢迎访问作者博客(http://520wcf.com)。
作 者

目录

第1章 Nginx基础 1
1.1 Nginx概述及作用 1
1.1.1 可作为Web服务器 1
1.1.2 可作为反向代理服务器 2
1.1.3 可作为邮件代理服务器 3
1.2 为什么选择Nginx 3
1.3 安装Nginx 4
1.3.1 选择安装版本 4
1.3.2 编译安装Nginx 5
1.3.3 配置防火墙 7
1.3.4 加入自启动和系统服务 9
1.3.5 加入系统变量 12
1.4 Nginx命令行 13
1.4.1 命令行参数 14
1.4.2 启动、停止和重启 15
1.4.3 信号控制 17
1.4.4 平滑升级 18
1.5 Nginx配置 19
1.5.1 配置命令 20
1.5.2 配置上下文 20
1.5.3 配置文件结构 21
1.5.4 配置变量 22
1.5.5 配置实例 23
1.6 Nginx模块化体系 25
1.6.1 模块概述 25
1.6.2 模块分类 26
1.7 本章小结 26
第2章 Nginx-rtmp-module基础 27
2.1 Nginx-rtmp-module介绍 27
2.2 RTMP协议与HLS协议 28
2.2.1 RTMP协议 28
2.2.2 HLS协议 29
2.3 NRM的搭建 34
2.4 搭建第一个直播系统 36
2.5 本章小结 40
第3章 Nginx-rtmp-module进阶 41
3.1 如何使NRM支持HLS协议直播 41
3.2 推/拉流与串流码 43
3.3 Control控制器 43
3.3.1 record命令 44
3.3.2 drop命令 47
3.3.3 redirect命令 47
3.4 数据统计模块 47
3.5 Exec相关功能 48
3.6 本章小结 48
第4章 Nginx-rtmp-module 应用 49
4.1 FFmpeg 49
4.1.1 FFmpeg的安装 51
4.1.2 FFmpeg的配置 54
4.1.3 FFmpeg与直播的应用 59
4.2 基础配置信息 59
4.3 本章小结 64
第5章 Android端解决方案 65
5.1 移动端视频直播介绍 65
5.2 Yasea框架介绍 66
5.3 IJKPlayer框架介绍 69
5.4 Android端开发实战 74
5.4.1 主要功能 75
5.4.2 框架导入 75
5.4.3 滤镜 77
5.4.4 推流 80
5.4.5 拉流 83
5.4.6 弹幕 90
5.5 本章小结 94
第6章 iOS端解决方案 95
6.1 iOS端视频直播介绍 95
6.2 SDK的选择和前期准备 96
6.3 GPUImage框架介绍 99
6.4 LFLiveKit框架介绍 103
6.5 IJKPlayer框架介绍 106
6.6 iOS端开发实战 110
6.6.1 主要功能 110
6.6.2 框架导入 111
6.6.3 滤镜 112
6.6.4 推流 116
6.6.5 拉流 121
6.6.6 点赞 126
6.6.7 弹幕 129
6.7 本章小结 132
第7章 Web端解决方案 133
7.1 Adobe Flash Player 133
7.1.1 Flash Player 134
7.1.2 为什么要使用Flash 134
7.2 ActionScript与Flex 135
7.2.1 Flex环境的搭建 135
7.2.2 Flex项目的创建 137
7.2.3 使用ActionScript组件 142
7.2.4 NetStream对象 148
7.2.5 获取视频流 149
7.2.6 实例:使用as实现一个基础的推流器 151
7.3 SWFObject 156
7.3.1 为什么选择SWFObject 156
7.3.2 静态嵌入Flash Player 158
7.3.3 动态嵌入Flash Player 162
7.4 Flex与JavaScript的通信 167
7.4.1 Flex调用JavaScript函数 167
7.4.2 使用JavaScript调用Flex函数 168
7.4.3 使用JavaScript端获取SWF对象的引用 169
7.4.4 实例:使用SWFObject将Flash播放器嵌入网页中 170
7.5 播放器的制作 171
7.5.1 主要功能 171
7.5.2 相关变量 172
7.5.3 初始化视频画布 172
7.5.4 加载视频流并播放 172
7.5.5 高亮显示播放进度及缓冲进度 174
7.5.6 视频的播放与暂停 175
7.5.7 拖动滑块播放视频 176
7.5.8 播放结束处理 177
7.5.9 音量大小控制 177
7.5.10 全屏显示控制 178
7.5.11 流数据字符格式化 178
7.5.12 视频画面的平滑优化处理 179
7.5.13 播放接口的调用 179
7.5.14 实例:制作自定义播放器 180
7.6 Web端开发实战 185
7.6.1 推流 185
7.6.2 拉流 195

读者评论

下载资源

电子书版本

  • Epub

相关图书

算法训练营:入门篇(全彩版)

本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入了大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C++基础...

 

亿级流量系统架构设计与实战

李琛轩 (作者)

本书涵盖了亿级用户应用后台通用的技术和系统架构设计思路,在内容结构上分为三大篇:架构知识篇(第1~3章),作为全书的基础知识篇,首先介绍后台的关键组件构成以及机...

 

算法笔记(第2版)

刁瑞 谢妍 (作者)

ChatGPT掀起了现象级的风暴,赶超ChatGPT潮流,算法突破是关键。 本书介绍了若干常见算法,涉及排序、哈希、动态规划与近似算法、高斯消去法、图论与线性...

 

看漫画学Python:有趣、有料、好玩、好用(全彩修订版)

关东升 著 赵大羽 绘 (作者)

ython是一门既简单又强大的编程语言,被广泛应用于数据分析、大数据、网络爬虫、自动化运维、科学计算和人工智能等领域。Python也越来越重要,成为国家计算机等...

 

Linux从入门到精通

张启玉 (作者)

本书以CentOS 7.8为演示系统,以阿里云为演示服务器,从Linux常用命令入手,从一毕业就要入职公司的上手要求出发,重实战、轻原理,目的就是要带领读者从一...

 

看漫画学Python 2:有趣、有料、好玩、好用(全彩进阶版)

关东升 ,赵大羽 (作者)

本书是《看漫画学Python》的进阶版本,继续秉承有趣、有料、好玩、好用的理念,并继续采用《看漫画学Python》一书中3个不同的漫画人物角色,通过这3个角色之...