Repository: Tinywan/RTMP-TS-DASH-WEBRTC
Branch: master
Commit: 7c4fd395d978
Files: 6
Total size: 18.0 KB
Directory structure:
gitextract_urb4bzpi/
├── .gitignore
├── README.md
└── docs/
├── DETAIL001.md
├── DETAIL002.md
├── demo.ts
└── test.csv
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*.xml
.idea/*
================================================
FILE: README.md
================================================
# NGINX MPEG-TS Live Module & Dash JS
## 目录
* [典型业务场景](/docs/DETAIL001.md)
* [解决方案架构](/docs/DETAIL002.md)
* 直播流程
* 流媒体直播功能
* WEB 直播技术
* RTSP 协议
* RTMP 协议
* HLS 协议
* HLS 与 RTMP 对比
* 环境搭建
* NGINX-RTMP-TS-DASH 直播方案
* HTML5 标准
* HLS 标准
* WebRTC 标准
* 参考资料
### 直播流程
+ 视频直播:采集、前处理、编码、传输、解码、渲染
+ 采集: 一般是由客户端(IOS、安卓、PC或其它工具,如OBS)完成的,iOS是比较简单的,Android则要做些机型适配工作,PC最麻烦各种奇葩摄像头驱动。
+ 前期处理: 主要是处理直播美颜,美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。难点不在于美颜效果,而在于GPU占用和美颜效果之间找平衡。
+ 编码: 要采用硬编码,软编码720p完全没希望,勉强能编码也会导致CPU过热烫到摄像头。编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。
+ 传输: 一般交给了CDN服务商,如:阿里云、腾讯云。
+ 解码: 是对之前编码的操作,进行解码,在 web 里需要解码是hls。
+ 渲染: 主要用播放器来解决,web中常用到的播放器有video.js,更多:[html5-dash-hls-rtmp](https://github.com/Tinywan/html5-dash-hls-rtmp)
+ 下面是腾讯云直播方案的整个流程图:

### 流媒体直播功能
+ 支持的直播流输入协议是
+ RTMP 用于拉取和发布的流
+ RTSP 为拉和宣布的流
+ 用于HTTP和UDP流的 MPEG-TS
+ SRT 用于听,拉和集合模式
+ UDT 用于听,拉和集合模式
+ HLS 为拉流
+ 单路路实时编码流传递(RTMP)

+ 多路实时编码流传递(RTMP)

### 环境搭建
+ 服务与模块
+ 1、Openresty下载
```bash
https://openresty.org/download/openresty-1.11.2.3.tar.gz
```
+ 2、nginx-ts-module下载
```bash
git clone https://github.com/arut/nginx-ts-module.git
```
+ 3、ffmpeg 下载安装
+ 动态编译安装
+ 1、Openresty环境配置
```bash
apt-get install libreadline-dev libncurses5-dev libpcre3-dev \
libssl-dev perl make build-essential
```
+ 2、动态编译安装
```bash
./configure --prefix=/opt/openresty --with-luajit --without-http_redis2_module \
--with-http_iconv_module --add-dynamic-module=/root/nginx-ts-module
...
make -j4
...
sudo make install
```
+ 3、配置文件
+ `nginx.conf`
```bash
# vim /opt/openresty/nginx/conf/nginx.conf
error_log logs/error.log;
pid logs/nginx.pid;
load_module "/opt/openresty/nginx/modules/ngx_http_ts_module.so"; # 加载模块
events {
}
http {
server {
listen 8000;
location / {
root html;
}
location /publish/ {
ts;
ts_hls path=/var/media/hls segment=10s;
ts_dash path=/var/media/dash segment=10s;
client_max_body_size 0;
}
location /play/ {
add_header Cache-Control no-cache;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
add_header 'Access-Control-Allow-Headers' 'Range';
types {
application/x-mpegURL m3u8;
application/dash+xml mpd;
video/MP2T ts;
video/mp4 mp4;
}
alias /var/media/;
}
}
}
```
+ 流媒体存放文件夹建立
```bash
cd /var & makedir media
cd media & makedir hls & makedir dash
```
+ 4、FFmpeg推流
```bash
ffmpeg -re -i rtmp://live.hkstv.hk.lxdns.com/live/hks -bsf:v h264_mp4toannexb \
-c copy -f mpegts http://127.0.0.1:8000/publish/sintel
```
+ 5、客户端播放
```html
<script src="http://cdn.dashjs.org/latest/dash.all.min.js"></script>
<style>
video {
width: 640px;
height: 360px;
}
</style>
<div>
<video data-dashjs-player autoplay src="http://1127.0.0.1:8000/play/dash/sintel/index.mpd"
controls></video>
</div>
```
+ 6、如果不使用 ffmpeg 直接拉流到`http://127.0.0.1:8000/publish/sintel` 服务的解决方案?
+ (1)nginx-rtmp-module下载
git clone https://github.com/arut/nginx-rtmp-module.git
+ (2)和安装`nginx-ts-module`模块一样动态编译安装既可以,最后别忘记了的在配置文件load `nginx-rtmp-module.so`文件
+ (3)按照这个顺序:`OBS => nginx-rtmp => nginx-ts`推流,OBS也可以是别的网络推流设备
+ (4)通过以上我们可以不直接使用ffmpeg 去推流了,而是在Windows端口可以通过OBS很简单的去推流了
+ (5)使用VLC播放器测试,结果OK!
+ 7、总结,一切顺利通过。
+ 通过SSL加密和公开HLS媒体的来源(HLS)

### NGINX-RTMP-TS-DASH 直播方案
+ HLS、MPEG-DASH多路输入/输出流(HLS、MPEG-DASH)

+ 编译安装
+ 1、下载nginx-rtmp-module模块:
```bash
git clone https://github.com/arut/nginx-rtmp-module.git
```
+ 2、配置 --with-http_xslt_module 时提示 the HTTP XSLT module requires the libxml2/libxslt libraries,安装以下:
```bash
sudo apt-get install libxml2 libxml2-dev libxslt-dev
sudo apt-get install libgd2-xpm libgd2-xpm-dev
```
+ 3、通过configure命令生成Makefile文件,为下一步的编译做准备:
```bash
./configure --prefix=/opt/openresty --with-luajit --without-http_redis2_module --with-http_iconv_module \
--with-http_stub_status_module --with-http_xslt_module --add-dynamic-module=/root/nginx-ts-module \
--add-dynamic-module=/root/nginx-rtmp-module
```
+ 4、如果报下面的错误
```bash
platform: linux (linux)
you need to have ldconfig in your PATH env when enabling luajit.
```
> 是因为找不到命令ldconfig, 这个命令一般是在/sbin/目录下的,所以先执行`export PATH=$PATH:/sbin`
+ 5、如果出现:`./configure: error: the HTTP XSLT module requires the libxml2/libxslt` 错误,安装以下:
```bash
sudo apt-get install libxml2 libxml2-dev libxslt-dev
```
+ `nginx.conf` 配置
```bash
# vim /opt/openresty/nginx/conf/nginx.conf
user www;
worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
load_module "/opt/openresty/nginx/modules/ngx_http_ts_module.so";
load_module "/opt/openresty/nginx/modules/ngx_rtmp_module.so";
events {
worker_connections 1024;
}
http {
server {
listen 8000;
# This URL provides RTMP statistics in XML
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root html;
}
location /hls {
# Serve HLS fragments
add_header Cache-Control no-cache;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
add_header 'Access-Control-Allow-Headers' 'Range';
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /tmp;
}
location /dash {
# Serve DASH fragments
add_header Cache-Control no-cache;
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
add_header 'Access-Control-Allow-Headers' 'Range';
types {
application/dash+xml mpd;
video/mp4 mp4;
}
root /tmp;
}
}
}
rtmp {
listen 1935;
chunk_size 4000;
idle_streams off;
ping 30s;
notify_method get;
server {
listen 1935;
chunk_size 4000;
drop_idle_publisher 10s;
idle_streams off;
application live {
live on;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
}
# MPEG-DASH is similar to HLS
application dash {
live on;
dash on;
dash_path /tmp/dash;
}
}
}
```
+ 拷贝xml文件:`cp /root/nginx-rtmp-module/stat.xsl /opt/openresty/nginx/html`
+ 流状态查看:`http://127.0.0.1:8000/stat`
+ OBS推流地址:`rtmp://127.0.0.1/dash/123`
+ VLC观看RTMP直播流:`rtmp://127.0.0.1/dash/123`
+ DASH格式HTTP播放
```html
<script src="http://cdn.dashjs.org/latest/dash.all.min.js"></script>
<style>
video {
width: 640px;
height: 360px;
}
</style>
<div>
<video data-dashjs-player autoplay src="http://127.0.0.1:8000/dash/123.mpd" controls></video>
</div>
```
* **功能特点**
支持RTMP、HTTP-FLV、HLS、HTML5等协议,面向Windows、iOS、Android等终端提供稳定流畅的视频直播、点播服务,支持微信直播和微信点播, 可部署在局域网和互联网,实现私有云和公有云应用,单设备高并发。
* **多屏播放** 支持Flash、HTML5播放,兼容Windows、Android、iOS、Mac等操作系统;
* **转码、上传** 转码、上传一体化设计,使视频资源转码后可立即面向互联网进行发布;
* **嵌入、分享** 上传视频后一键生成视频地址,以供用户分享、嵌入到网站、软件系统中;
* **丰富接口** 提供编程语言无关化的RESTful API接口,可以很简单的进行二次开发;
* **强大的WEB管理系统**
采用业界优秀的流媒体框架模式设计,服务运行轻量、高效、稳定、可靠、易维护,是移动互联网时代贴近企业点播、直播需求的一款流媒体方案,可以形成一套完整的视频直播、录播解决方案,满足用户在各种行业场景的流媒体业务需求。
* 1、视频上传
* 2、点播管理
* 3、直播流管理
* 4、正在直播
* 5、分享集成
* 6、接口在线调试
* **应用场景**
视频门户网站、会议活动现场直播、网络电视台、远程监控、在线实时课堂、 科研方向等。
## [HLS 协议标准](https://link.jianshu.com/?t=http://tools.ietf.org/html/draft-pantos-http-live-streaming)
## 参考资料
+ [FFmpeg功能命令集合](https://www.jianshu.com/p/053665062f22)
+ [ffmpeg处理RTMP流媒体的命令大全](http://blog.csdn.net/leixiaohua1020/article/details/12029543)
+ [FFmpeg常用推流命令](https://www.jianshu.com/p/d541b317f71c)
+ [HTTP Live Streaming (HLS) - 概念](https://www.jianshu.com/p/2ce402a485ca)
+ [HLS-iOS视频播放服务架构深入探究(一)](https://yangchao0033.github.io/blog/2016/01/29/hls-1/)
+ [HLS-iOS视频播放服务架构深入探究(二)](https://yangchao0033.github.io/blog/2016/02/14/hls-2/)
================================================
FILE: docs/DETAIL001.md
================================================
典型业务场景
===========
## 在线视频直播
提供专业互联网直播服务,适用于峰会论坛、展示发布、培训等多种应用场景,覆盖政务、教育、新零售、金融、旅游、汽车等多种行业,同时云导播、流拆条、多机位等直播处理服务及直播后秒变点播、直播回看、数据分析等服务

#### 直播采集
摄像机、手机、无人机、编码器、4G背包等多种信号源开启直播
#### 直播处理
直播转码、秒变回看、云导播、流拆条、云轮播等多种直播处理手段
#### 直播分发
提供全网分发流畅播放,覆盖WEB、IOS、Android等多种平台终端
#### 直播互动
图文主持、互动评论、红包打赏、精彩回顾等多种互动方式增加观看趣味性
#### 直播API/SDK
提供完整直播API及SDK,无缝集成到自有平台,快速实现直播业务上线
#### 对应产品
内容分发网络 CDN对象存储服务 OBS虚拟专用网络 VPN
## 在线视频点播
点播服务集视音频采集、编辑、上传、自动化转码处理、媒体资源管理、分发加速、视频播放于一体的一站式视音频点播解决方案。利用华为云弹性扩展的存储、高质量的视频转码处理技术,以及稳定快速的内容分发服务,帮助企业和开发者快速搭建安全、弹性、高可用的点播平台和应用

#### 视频上传
多种视频上传方式,支持多种内容格式,提供控制台、API、SDK多种操作方式
#### 视频管理
提供媒体资产管理功能,包含内容编目、标签、分类、属性等
#### 视频转码
支持多种编码格式,提供感知增强编码技术,提升画面质量节省30%流量,提供水印/角标叠加
#### 视频播放
支持WEB、IOS、Android等多种平台,提供全网分发流畅播放
#### 点播API/SDK
提供产品级API/SDK、快速接入、接口简单
#### 安全防护
提供防盗链、HTTPS、API安全令牌等多种安全防护机制
#### 数据统计
提供90天内细颗粒度业务用量查询,便于掌控业务用量,评估运营效果
#### 对应产品
内容分发网络 CDN对象存储服务 OBS弹性云服务器 ECS
## 在线视频转码
视音频转码服务基于云计算服务构建,提供丰富的转码功能,例如:多格式转码、水印角标叠加、一入多出支撑,感知增强编码带来更高画质,节省30%流量,借助云计算服务的弹性伸缩特性,最大限度的满足转码需求简化传统转码复杂度

#### 编码格式丰富
支持50多种视音频编码格式,矩阵式的管理,根据需要可自定义和手动入出格式
#### 转码功能强大
视频多格式转码、截图、水印、GIF动画、拼接、角标等功能满足您的各种场景应用
#### 动态负载均衡
确保每个转码节点的最大化吞吐率,让效率提升,成本降低
#### 集群弹性伸缩
集群转码根据业务量的配比,进行动态弹性伸缩
#### 智能感知增强
结合网、端的实际情况,提供高画质、低流量、微延时的实时感知增强转码服务
#### 转码API/SDK
提供产品级API/SDK,快速对接无缝集成,快速实现转码上线
#### 对应产品
对象存储服务 OBS弹性云服务器 ECSFPGA加速云服务器
================================================
FILE: docs/DETAIL002.md
================================================
解决方案架构
===========
## 在线视频解决方案架构
在线视频解决方案包含直播服务、点播服务、转码服务,应用覆盖政务、教育、新零售,旅游等多类型行业实现视频化应用,助力目标行业提升传播价值,扩大影响力

## 架构优势
#### 一体化解决方案
提供采集、编辑、上传、管理、分发一体化解决方案,具备控制台、API、SDK多种操作方式
#### 直播服务
稳定流畅、低延时、高并发的实时音视频服务
#### 点播服务
提供媒体资产管理功能,涵盖上传、管理、发布
#### 转码服务
支持50多种格式、水印角标叠加、一入多出
#### 感知画质编码
感知画面动态编码,更高画质,节省30%流量
================================================
FILE: docs/demo.ts
================================================
alert('hello world in TypeScript!');
================================================
FILE: docs/test.csv
================================================
全国市代名单2017-09-01,,,,,,
序号,省,市,市代,电话号码,区域编号,备注
1,北京市,北京市,安燕梅,13901256806,1101,
2,天津市,天津市,蔺继龙,18002153111,1200,
3,河北省,石家庄,孙爱华,15613004513,1301,
4,河北省,唐山市,李广臣,15302096080,1302,
5,河北省,秦皇岛市,游春艳,18604291996,1303,
6,河北省,邢台市,谭向荣,13932916598,1305,
7,河北省,保定市,张彬,13832131415,1306,
8,河北省,沧州市,尹晖,15075779467,1309,
9,河北省,廊坊市,蔺继龙,18002153111,1310,
10,山西省,太原市,邬杰,13935149968,1401,
11,山西省,阳泉市,贾富明,13103531666,1403,
12,辽宁省,沈阳市,苏万瑞,13604039865,2101,
13,辽宁省,大连市,刘淑华,13604039865,2102,
14,辽宁省,鞍山市,张弛,18604039865,2103,
15,辽宁省,本溪市,刘育,15804146669,2105,
16,辽宁省,丹东市,金德哲,13358786167,2106,
17,辽宁省,营口市,杨芹,18341413999,2108,
18,辽宁省,辽阳市,杜金钰,13904995015,2110,
19,吉林省,长春市,孙锡凌,18906092966,2201,
20,吉林省,吉林市,翟金萍,13578731099,2202,
21,吉林省,四平市,孙锡凌,18876526333,2203,
22,吉林省,白城市,陈晶,13804361157,2208,
23,吉林省,延边州,李显刚,13224445898,2224,
24,黑龙江省,哈尔滨市,管齐军,15604523455,2301,
25,黑龙江省,齐齐哈尔市,王玉君,18746207777,2302,
26,黑龙江省,鹤岗市,赵凤云,13359773527,2304,
27,黑龙江省,大庆市,赵传亮,18846848333,2306,
28,黑龙江省,佳木斯市,钱道宽,18045738666,2308,
29,上海市,上海市,韩洁,13126892862,3100,
30,江苏省,南京市,胡越,18013928188,3201,
31,江苏省,无锡市,周晓东,13812591399 ,3202,
32,江苏省,无锡市-2,陆伟良,13357917850 ,3202,
33,江苏省,无锡市-3,胡细根,13506165959 ,3202,
34,江苏省,徐州市,张颖,13584432868,3203,
35,江苏省,常州市,蔡凯林,13584432858,3204,
36,江苏省,苏州市,潘丽峰,18967363305,3205,
37,江苏省,南通市,张锦涛,13951336519 ,3206,
38,江苏省,淮安市,万伟东,13901505918 ,3208,
39,江苏省,盐城市,李成彪,13605395378,3209,
40,江苏省,扬州市,见玉荣,18610547359,3210,
41,江苏省,镇江市,李义,13912341088,3211,
42,江苏省,泰州市,董玉如,13912324632,3212,
43,江苏省,宿迁市,王海泉,18961197999,3213,
44,浙江省,杭州市,潘承亮,18258886977,3301,
45,浙江省,宁波市,王钢,13777102567,3302,
46,浙江省,温州市,焦杰,13780179688,3303,
47,浙江省,嘉兴市,陆觉芳,13905732750,3304,
48,浙江省,嘉兴市-2,潘丽峰,18967363305,3304,
49,浙江省,湖州市,郭家顺,15605821111,3305,
50,浙江省,绍兴市,吴玲珑,13777339888,3306,
51,浙江省,金华市,张奇彪,13706890002,3307,
52,浙江省,衢州市,水志宽,13967902512,3308,
53,浙江省,台州市,刘瑾,13505767885,3310,
54,浙江省,丽水市,成秋峰,18698571505,3311,
55,安徽省,合肥市,潘飞,18119998726,3401,
56,安徽省,芜湖市,殷晓俊,18196552807,3402,
57,安徽省,蚌埠市,潘天好,18119998926,3403,
58,安徽省,淮南市,黄谈成,18226136565,3404,
59,安徽省,马鞍山,王剑,13576368153,3405,
60,安徽省,铜陵市,舒承,18905629341,3407,
61,安徽省,安庆市,王振军,15016720968,3408,
62,安徽省,黄山市,曹永昌,13855986318,3410,
63,安徽省,滁州市,殷晓俊,18196552807,3411,
64,安徽省,阜阳市,王悦玮,18655120755,3412,
65,安徽省,六安市,潘飞,18119998726,3415,
66,安徽省,亳州市,潘飞,18119998726,3416,
67,安徽省,池州市,宁胜利,18705662573,3417,
68,安徽省,宣城市,卢静,13805620186,3418,
69,福建省,福州市,唐敏,13906932810,3501,
70,福建省,厦门市,陈进,13906507961 ,3502,
71,福建省,厦门市-2,孙锡凌,18906092966/13720891957,3502,
72,福建省,莆田市,胡剑,13178052198,3503,
73,福建省,三明市,庄璐,13616909888,3504,
74,福建省,泉州市,孙锡凌,18906092966,3505,
75,福建省,漳州市,胡仙长,13808522141,3506,
76,福建省,南平市,范凤坪,13905994515,3507,
77,福建省,龙岩市,蓝雄辉,15559169899,3508,
78,福建省,宁德市,王祖明,13685059777,3509,
79,江西省,南昌市,李水萍,13907998282,3601,
80,江西省,景德镇市,藏学兵,13909902650,3602,
81,江西省,萍乡市,易婉丽,13907991281,3603,
82,江西省,九江市,王良,13807927969,3604,
83,江西省,新余市,付云,13879559988,3605,
84,江西省,鹰潭市,易宇玲,13317018801,3606,
85,江西省,赣州市,江春,13970030979,3607,
86,江西省,吉安市,王秋林,13829170619,3608,
87,江西省,宜春市,黄蓉,13879584324,3609,
88,江西省,宜春市-2,彭丽萍,17770539833,3609,
89,江西省,宜春市-3,谌琳,13879594668,3609,
90,江西省,抚州市,王少华,13829121519,3610,
91,江西省,上饶市,万晓华,18979335231,3611,
92,山东省,济南市,倪秀华,13325119377 ,3701,
93,山东省,青岛市,焦梅科,13573963032,3702,
94,山东省,淄博市,孔秀华,13615331308,3703,
95,山东省,枣庄市,朱学蕾,13953900290,3704,
96,山东省,东营市,曲荣周,15318362333,3705,
97,山东省,烟台市,许新军,18653979666,3706,
98,山东省,潍坊市,王炳强,15063600666,3707,
99,山东省,济宁市,刘晓红,13953705706,3708,
100,山东省,泰安市,刘汝忠 ,18563969533,3709,
101,山东省,泰安市-2,郭红英,13153831588,3709,
102,山东省,威海市,曲荣周,15318362333,3710,
103,山东省,日照市,李芳,13953900290,3711,
104,山东省,莱芜市,崔合英,13963457038,3712,
105,山东省,临沂市,宋祺,13793912305,3713,
106,山东省,聊城市,周景宝,15966271666,3715,
107,河南省,郑州市,白慧洁,17789781311,4101,
108,河南省,郑州市-2,王维莉,18961197999,4101,
109,河南省,许昌市,马精华,18963957998,4110,
110,河南省,南阳市,占翠华,15179271151,4113,
111,河南省,洛阳市,卢婉沧,13545405868,,
112,湖北省,武汉市,辜振亮,15527588977,4201,
113,湖北省,黄石市,胡惠莉,13797779598,4202,
114,湖北省,十堰市,尹春发,18062761319,4203,
115,湖北省,宜昌市,刘煜,13808605058,4205,
116,湖北省,襄阳市,向重友,18986801579,4206,
117,湖北省,鄂州市,高爱荣,15671986366,4207,
118,湖北省,荆门市,李书红,13593835998,4208,
119,湖北省,孝感市,温寒,13554337661,4209,
120,湖北省,孝感市-2,邓想安,18268888291,4209,
121,湖北省,荆州市,白敦红,18627208770 ,4210,
122,湖北省,黄冈市,洪立梅,15072768818,4211,
123,湖北省,咸宁市,易齐五,13098810344,4212,
124,湖北省,随州市,刘国安,15997898222,4213,
125,湖北省,江城市,李伟,15871459988,4215,
126,湖北省,恩施土家族苗族自治州,袁术英,15071870123,4228,
127,湖北省,省直辖县,方红,15272569313,4290,
128,湖南省,长沙市,康庄,13308417070,4301,
129,湖南省,株洲市,罗志君,13879998880,4302,
130,湖南省,湘潭市,薛健,13308488988,4303,
131,湖南省,衡阳市,姚飞,15927188971,4304,
132,湖南省,邵阳市,刘忠华,13808489778,4305,
133,湖南省,岳阳市,袁明毅,18694036699,4306,
134,湖南省,常德市,贾高阳,13851747816,4307,
135,湖南省,张家界市,吕杰,18673660006,4308,
136,湖南省,益阳市,刘伟,15080806099,4309,
137,湖南省,郴州市,袁儒军,15967239938,4310,
138,湖南省,永州市,刘荣华,13808429947,4311,
139,湖南省,怀化市,周子微,13874524173,4312,
140,湖南省,娄底市,王勇,18277192555,4313,
141,广东省,广州市,刘刚,15679105780,4401,
142,广东省,深圳市,吴楠,18938646777,4403,
143,广东省,佛山市,姚生富,13168868887,4406,
144,广东省,江门市,李助理,13423770998,4407,
145,广东省,肇庆市,朱海滨,13033267777,4412,
146,广东省,惠州市,蔡博雅,13680867999,4413,
147,广东省,东莞市,张小周,13652575111,4419,
148,广东省,中山市,叶依婷,18679988787,4420,
149,广西省,南宁市,王博,18677152077,4501,
150,广西省,南宁市-2,陈稚晞,18650885311,4501,
151,广西省,百色市,赵丽云,18177678666,4510,
152,海南省,海口市,欧阳南方,18689984800,4601,
153,海南省,三亚市,周廷荷,13850790322,4602,
154,重庆市,重庆市,黄可锦,15906602588 ,5000,
155,四川省,成都市,凌梅,18608135963,5101,
156,四川省,绵阳市,姚生富,13168868887,5107,
157,四川省,南充市,王兰英,18990870527,5113,
158,四川省,宜宾市,马仕全,18283133353,5115,
159,贵州省,贵阳市,向重友,18986801579,5201,
160,贵州省,遵义市,朱珍莹,18275318999,5203,
161,云南省,昆明市,马仲美,13987611846 ,5301,
162,云南省,曲靖市,子红涛,13708848351,5303,
163,云南省,玉溪市,吕波,13908700777,5304,
164,云南省,昭通市,吕波,13908700777 ,5306,
165,云南省,楚雄市,周桂兰,13987652725,5323,
166,云南省,大理白族自治州,周虎,13987627455,5329,
167,陕西省,西安市,杨新花,15353613811,6101,
168,陕西省,西安市-2,李垣锦,13572232626,6101,
169,陕西省,咸阳市,朱岳奎,13991816613,6104,
170,陕西省,安康市,姚生富,13168868887,6109,
171,甘肃省,兰州市,郭福兴,18609468928,6201,
172,甘肃省,酒泉市,黄泽辉,18688734489,6209,
173,青海省,西宁市,田婉尼,18297006777,6301,
174,加拿大,多伦多市,卢永伟,13601905561,8301,
175,巴拿马,大卫市,傅秋云,005076699802/13923305233,8601,
176,湖北省,武汉市洪山A区,向重友,18986801579,42011,
177,湖北省,武汉市洪山B区,温寒,13554337661,42012,
199,甘肃省,天水市,弍萬,13669361192,112300,
178,湖北省,大冶市,何青,13872119118,420281,
,,,储峰,18326081956/18656969805,,
,,,胡学民,15880955551,,
gitextract_urb4bzpi/
├── .gitignore
├── README.md
└── docs/
├── DETAIL001.md
├── DETAIL002.md
├── demo.ts
└── test.csv
Condensed preview — 6 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (28K chars).
[
{
"path": ".gitignore",
"chars": 14,
"preview": "*.xml\n.idea/*\n"
},
{
"path": "README.md",
"chars": 10245,
"preview": "# NGINX MPEG-TS Live Module & Dash JS\n## 目录\n* [典型业务场景](/docs/DETAIL001.md) \n* [解决方案架构](/docs/DETAIL002.md) \n* 直播流程 \n*"
},
{
"path": "docs/DETAIL001.md",
"chars": 1456,
"preview": "典型业务场景\n===========\n## 在线视频直播\n提供专业互联网直播服务,适用于峰会论坛、展示发布、培训等多种应用场景,覆盖政务、教育、新零售、金融、旅游、汽车等多种行业,同时云导播、流拆条、多机位等直播处理服务及直播后秒变点播、直"
},
{
"path": "docs/DETAIL002.md",
"chars": 353,
"preview": "解决方案架构\n===========\n## 在线视频解决方案架构\n在线视频解决方案包含直播服务、点播服务、转码服务,应用覆盖政务、教育、新零售,旅游等多类型行业实现视频化应用,助力目标行业提升传播价值,扩大影响力\n\n;\n"
},
{
"path": "docs/test.csv",
"chars": 6305,
"preview": "全国市代名单2017-09-01,,,,,,\r\n序号,省,市,市代,电话号码,区域编号,备注\r\n1,北京市,北京市,安燕梅,13901256806,1101,\r\n2,天津市,天津市,蔺继龙,18002153111,1200,\r\n3,河北省"
}
]
About this extraction
This page contains the full source code of the Tinywan/RTMP-TS-DASH-WEBRTC GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6 files (18.0 KB), approximately 8.5k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.