Skip to content

1989chentao/Bull-Live-Server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Bull-Live-Server

Bull Live Server 简称 BLS ,旨在使用C++语言提供强大功能和高性能的流媒体直播服务器。

为何要写 BLS ?

1、simple rtmp server https://github.com/winlinvip/simple-rtmp-server
SRS很简洁却功能太少,BLS 使用C++语言强有力的现代特性,完全重新架构和编码, 结合基于state thread library的基础库和ST架构可以功能更强大,可以让编码更简洁,功能更强大。

2、crtmp server http://www.rtmpd.com/
CRTMPD功能很完善,架构上却很复杂,C++代码也写得晦涩难懂。
而BLS会使用更优秀的C++特性。

3、nginx-rtmp https://github.com/arut/nginx-rtmp-module
这个基于nginx,性能自不必说,功能比crtmp少,但是纯异步架构的复杂度和简洁性都不够好。

4、red 5 http://www.red5.org/
red 5 性能有瓶颈,而且和新的一些rtmp 服务器对接会有问题。

5、wowza http://www.wowza.com/
基于java语言,收费版,不适合屌丝们部署,但架构比较陈旧,而且配置很繁琐,正在作古之中。

6、FMS http://www.adobe.com
现在叫AMS,功能和性能都不差,基本什么功能都有,毕竟是adobe自家的,但是license很昂贵!


比较了这么多,BLS要做什么?目标是什么?定位是什么?
BLS 就是为了汲取上述软件的特点,做一个更好用的直播服务器,要免费,要开源,功能和性能不打折,
代码要简洁、易懂。

usage

Step 1: get BLS

git clone https://github.com/wenjiegit/Bull-Live-Server.git&& cd Bull-Live-Server/trunk

Step 2: build BLS

./autogen.sh && make

Step 3: start BLS

./bin/bls -f conf/bls.conf

Plan

[1] support AMF0/AMF3
[2] support RTMP streaming............................................OK
[3] support HLS
[4] support HDS
[5] support HTTP FLV streaming
[6] support transcode with ffmpeg
[7] support multi_process...............................................OK
[8] support nginx like configure file...................................OK
[9] support configure reload
[10] support fast gop........................................................OK
[11] support dvr(digital video record)
[12] support fast hls.

Code Line History

[0.1]  2014-09-19     line 10901
[0.1]  2014-12-21     line 13394, refine code structure.

history

[0.1]  2014-12-20   multi-process push supported.
[0.1]  2014-10-10   support multiprocess.
[0.1]  2014-09-19   support fmle or flash pushlish stream.
[0.1]  2014-09-19   support flash or vlc like play stream.
[0.1]  2014-09-19   support amf0 serialize.
[0.1]  2014-07-05   init project.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.4%
  • Other 2.6%