资源简介
SRS
SRS/3.0,OuXuli,是一个流媒体集群,支持RTMP/HLS/WebRTC/SRT/GB28181,高效、稳定、易用,简单而快乐。
SRS is a RTMP/HLS/WebRTC/SRT/GB28181 streaming cluster, high efficiency, stable and simple.
Remark: Although SRS is licenced under MIT, but there are some depended libraries which are distributed using their own licenses, please read License Mixing.
Usage
>>> Step 1: Get SRS.
git clone https://gitee.com/winlinvip/srs.oschina.git srs &&
cd srs/trunk && git remote set-url origin https://github.com/ossrs/srs.git && git pull
Note: We use mirrors(gitee) here, but it's also ok to directly clone by git clone https://github.com/ossrs/srs.git && cd srs/trunk
>>> Step 2: Build SRS.
./configure && make
Remark: Recommend to use Centos7 64bits, please read wiki(CN,EN).
Note: You can also build SRS in docker, please read docker.
Step 3: Run SRS
./objs/srs -c conf/srs.conf
>>> Whatever, you can also directly run SRS in docker:
docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 \
registry.cn-hangzhou.aliyuncs.com/ossrs/srs:3
Note: Again, we use ACR here, you can directly run in docker hub by docker run -p 1935:1935 -p 1985:1985 -p 8080:8080 ossrs/srs:3
>>> From here, strongly recommend to read bellow wikis:
Usage: How to delivery RTMP?(CN, EN)
Usage: How to delivery RTMP Edge Cluster?(CN, EN)
Usage: How to create a RTMP Origin Cluster?(CN, EN)
Usage: How to delivery HTTP FLV Live Streaming?(CN, EN)
Usage: How to delivery HTTP FLV Live Streaming Cluster?(CN, EN)
Usage: How to delivery HLS?(CN, EN)
Usage: How to delivery HLS for other codec?(CN, EN)
Usage: How to transode RTMP stream by FFMPEG?(CN, EN)
Usage: How to forward stream to other servers?(CN, EN)
Usage: How to deploy in low lantency mode?(CN, EN)
Usage: How to ingest file/stream/device to RTMP?(CN, EN)
Usage: How to delivery HLS by SRS HTTP server?(CN, EN)
Usage: How to publish h.264 raw stream as RTMP? (CN, EN)
Usage: How to improve edge performance by multiple CPUs? (CN, EN)
Usage: Why choose SRS? About the milestone and product
代码片段和文件信息
/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the “License“); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an “AS
* IS“ basis WITHOUT WARRANTY OF ANY KIND either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape Portable Runtime library.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s): Silicon Graphics Inc.
* Yahoo! Inc.
*
* Alternatively the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* “GPL“) in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#include
#include
#include
#include
#include
#include
#include “common.h“
#ifdef MD_HAVE_KQUEUE
#include
#endif
#ifdef MD_HAVE_EPOLL
#include
#endif
#if defined(USE_POLL) && !defined(MD_HAVE_POLL)
/* Force poll usage if explicitly asked for it */
#define MD_HAVE_POLL
#endif
static struct _st_seldata {
fd_set fd_read_set fd_write_set fd_exception_set;
int fd_ref_cnts[FD_SETSIZE][3];
int maxfd;
} *_st_select_data;
#define _ST_SELECT_MAX_OSFD (_st_select_data->maxfd)
#define _ST_SELECT_READ_SET (_st_select_data->fd_read_set)
#define _ST_SELECT_WRITE_SET (_st_select_data->fd_write_set)
#define _ST_SELECT_EXCEP_SET (_st_select_data->fd_exception_set)
#define _ST_SELECT_READ_CNT(fd) (_st_select_data->fd_ref_cnts[fd][0])
#define _ST_SELECT_WRITE_CNT(fd) (_st_select_data->fd_ref_cnts[fd][1])
#define _ST_SELECT_EXCEP_CNT(fd) (_st_select_data->fd_ref_cnts[fd][2])
#ifdef MD_HAVE_POLL
static struct _st_polldata {
struct pollfd *pollfds;
int pollfds_size;
int fdcnt;
} *_st_poll_data;
#define _ST_POLL_OSFD_CNT (_st_poll_data->fdcnt)
#define _ST_POLLFDS (_st_poll_data->pollfds)
#define _ST_POLLFDS_SIZE (_st_poll_data->pollfds_size)
#endif /* MD_HAVE_POLL */
#ifdef MD_HAVE_KQUEUE
typedef struct _kq_fd_data {
int rd_ref_cnt;
int wr_ref_cnt;
int revents;
} _kq_fd_data_t;
static s
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-04-07 12:11 srs-3.0release\
目录 0 2020-04-07 12:11 srs-3.0release\.circleci\
文件 419 2020-04-07 12:11 srs-3.0release\.circleci\config.yml
目录 0 2020-04-07 12:11 srs-3.0release\.github\
文件 512 2020-04-07 12:11 srs-3.0release\.github\ISSUE_TEMPLATE
文件 579 2020-04-07 12:11 srs-3.0release\.gitignore
文件 1904 2020-04-07 12:11 srs-3.0release\AUTHORS.txt
文件 3215 2020-04-07 12:11 srs-3.0release\CODE_OF_CONDUCT.md
文件 213 2020-04-07 12:11 srs-3.0release\CONTRIBUTING.md
文件 1079 2020-04-07 12:11 srs-3.0release\LICENSE
文件 117995 2020-04-07 12:11 srs-3.0release\README.md
目录 0 2020-04-07 12:11 srs-3.0release\trunk\
文件 811 2020-04-07 12:11 srs-3.0release\trunk\.gitignore
目录 0 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\
文件 482530 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\CherryPy-3.2.4.zip
文件 85732 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\bootstrap.2.3.2.zip
目录 0 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\ccache\
文件 647 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\ccache\build_ccache.sh
文件 390557 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\ccache\ccache-3.1.9.zip
文件 361 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\ccache\readme.txt
文件 1624882 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\gperftools-2.1.zip
目录 0 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\gprof\
文件 167 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\gprof\readme.txt
文件 1121697 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\gtest-1.6.0.zip
文件 172692 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\jquery-1.10.2.zip
文件 6623784 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\openssl-1.1.0e.zip
文件 2113 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\readme.txt
目录 0 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\st-srs\
文件 35 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\st-srs\.gitignore
文件 12556 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\st-srs\Makefile
文件 11986 2020-04-07 12:11 srs-3.0release\trunk\3rdparty\st-srs\README
............此处省略568个文件信息
- 上一篇:802.11无线标准2016年修订版.pdf
- 下一篇:智慧物流综合解决方案
相关资源
- AMS-3.0 (Free)------过期不再使用,请
- GB28181转RTSP、RTMP和HLS
- Windows版本的Nginx+rtmp+hls服务器代码
- 基于海思3516v300编译的rtmpdump库文件以
- 医疗商务平台项目管理全部文档
- ffmpeg+nginx+nginx-rtmp-module搭建个人直播
- nginx已经配置好了nginx-rtmp-module+VLC可播
- ffmpeg 采集摄像机流(rtsp)后推流(
- rtmpdump实现flv视频推流demo程序
- Rtmp流生成MP4文件源码
- 超低延迟RTSP/RTMP/HTTP播放器实测小于
- 将rtmp流保存成MP4或者flv格式视频参考
- 安卓 rtmp推流+录屏+远程控制
- rtmp流媒体播放
- easystream
- RTMP推流RTSP视频
- Qt基于librtmp推送H.264
- H265(ffmpeg_and_nginx-rtmp).7z
- 软件设计文档模板(SRS需求说明书,
- Easydarwin的RTSP和RTMP视频流媒体服务的
- h5stream安装程序与API中文手册-rtmprts
- 国标28181转rtsp/rtmp/webrtc/hls/flv
- OBS+NGINX 实现rtmp直播推流.zip
- 直播系统开发 基于Nginx与Nginx-rtmp-mo
- 直播系统开发:基于Nginx与Nginx-rtmp-
- QT + ffmpeg 播放 rtsprtmpudp视频流
- 校园二手交易平台-SRS.docx
- 软件项目需求分析、概要设计、单元
- rtmp协议抓包分析
- linux环境rtmp推流
评论
共有 条评论