mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
rename SRS_HTTP to SRS_HTTP_CALLBACK
This commit is contained in:
parent
3beb0ae229
commit
3066a03fb7
8 changed files with 63 additions and 34 deletions
|
@ -198,7 +198,7 @@ if [ ! -f ${SRS_OBJS}/st-1.9/obj/libst.so ]; then echo "build st-1.9 failed."; e
|
|||
#####################################################################################
|
||||
# http-parser-2.1
|
||||
#####################################################################################
|
||||
if [ $SRS_HTTP = YES ]; then
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then
|
||||
if [[ -f ${SRS_OBJS}/http-parser-2.1/http_parser.h && -f ${SRS_OBJS}/http-parser-2.1/libhttp_parser.a ]]; then
|
||||
echo "http-parser-2.1 is ok.";
|
||||
else
|
||||
|
@ -284,11 +284,11 @@ fi
|
|||
#####################################################################################
|
||||
# cherrypy for http hooks callback, CherryPy-3.2.4
|
||||
#####################################################################################
|
||||
if [ $SRS_HTTP = YES ]; then
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then
|
||||
if [[ -f ${SRS_OBJS}/CherryPy-3.2.4/setup.py ]]; then
|
||||
echo "CherryPy-3.2.4 is ok.";
|
||||
else
|
||||
require_sudoer "configure --with-http"
|
||||
require_sudoer "configure --with-http-callback"
|
||||
echo "install CherryPy-3.2.4";
|
||||
(
|
||||
sudo rm -rf ${SRS_OBJS}/CherryPy-3.2.4 && cd ${SRS_OBJS} &&
|
||||
|
@ -301,10 +301,10 @@ if [ $SRS_HTTP = YES ]; then
|
|||
if [ ! -f ${SRS_OBJS}/nginx/sbin/nginx ]; then echo "build CherryPy-3.2.4 failed."; exit -1; fi
|
||||
fi
|
||||
|
||||
if [ $SRS_HTTP = YES ]; then
|
||||
echo "#define SRS_HTTP" >> $SRS_AUTO_HEADERS_H
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then
|
||||
echo "#define SRS_HTTP_CALLBACK" >> $SRS_AUTO_HEADERS_H
|
||||
else
|
||||
echo "#undef SRS_HTTP" >> $SRS_AUTO_HEADERS_H
|
||||
echo "#undef SRS_HTTP_CALLBACK" >> $SRS_AUTO_HEADERS_H
|
||||
fi
|
||||
|
||||
echo "link players to cherrypy static-dir"
|
||||
|
@ -322,7 +322,7 @@ ln -sf `pwd`/${SRS_OBJS}/nginx/html/forward research/api-server/static-dir/forwa
|
|||
# only when the nginx is ok,
|
||||
# if api-server not enalbed, use nginx as demo.
|
||||
if [ $SRS_HLS = YES ]; then
|
||||
if [ $SRS_HTTP = YES ]; then
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then
|
||||
# override the default index.
|
||||
rm -f ${SRS_OBJS}/nginx/html/index.html &&
|
||||
ln -sf `pwd`/research/players/nginx_index.html ${SRS_OBJS}/nginx/html/index.html
|
||||
|
|
|
@ -14,7 +14,7 @@ help=no
|
|||
SRS_HLS=RESERVED
|
||||
SRS_SSL=RESERVED
|
||||
SRS_FFMPEG=RESERVED
|
||||
SRS_HTTP=RESERVED
|
||||
SRS_HTTP_CALLBACK=RESERVED
|
||||
SRS_LIBRTMP=RESERVED # srs-librtmp
|
||||
SRS_BWTC=RESERVED # srs-bandwidth-test client
|
||||
SRS_RESEARCH=RESERVED
|
||||
|
@ -31,7 +31,7 @@ SRS_JOBS=1
|
|||
SRS_HLS=YES
|
||||
SRS_SSL=YES
|
||||
SRS_FFMPEG=YES
|
||||
SRS_HTTP=YES
|
||||
SRS_HTTP_CALLBACK=YES
|
||||
SRS_LIBRTMP=YES
|
||||
SRS_BWTC=NO
|
||||
SRS_RESEARCH=NO
|
||||
|
@ -65,7 +65,7 @@ do
|
|||
--with-ssl) SRS_SSL=YES ;;
|
||||
--with-hls) SRS_HLS=YES ;;
|
||||
--with-ffmpeg) SRS_FFMPEG=YES ;;
|
||||
--with-http) SRS_HTTP=YES ;;
|
||||
--with-http-callback) SRS_HTTP_CALLBACK=YES ;;
|
||||
--with-librtmp) SRS_LIBRTMP=YES ;;
|
||||
--with-bwtc) SRS_BWTC=YES ;;
|
||||
--with-research) SRS_RESEARCH=YES ;;
|
||||
|
@ -79,7 +79,7 @@ do
|
|||
--without-ssl) SRS_SSL=NO ;;
|
||||
--without-hls) SRS_HLS=NO ;;
|
||||
--without-ffmpeg) SRS_FFMPEG=NO ;;
|
||||
--without-http) SRS_HTTP=NO ;;
|
||||
--without-http-callback) SRS_HTTP_CALLBACK=NO ;;
|
||||
--without-librtmp) SRS_LIBRTMP=NO ;;
|
||||
--without-bwtc) SRS_BWTC=NO ;;
|
||||
--without-research) SRS_RESEARCH=NO ;;
|
||||
|
@ -120,7 +120,7 @@ if [ $help = yes ]; then
|
|||
--with-ssl enable rtmp complex handshake, requires openssl-devel installed.
|
||||
to delivery h264 video and aac audio to flash player.
|
||||
--with-hls enable hls streaming, build nginx as http server for hls.
|
||||
--with-http enable http hooks, build cherrypy as demo api server.
|
||||
--with-http-callback enable http hooks, build cherrypy as demo api server.
|
||||
srs will call the http hooks, such as: on_connect.
|
||||
--with-ffmpeg enable transcoding with ffmpeg.
|
||||
--with-librtmp enable srs-librtmp, library for client.
|
||||
|
@ -135,7 +135,7 @@ if [ $help = yes ]; then
|
|||
|
||||
--without-ssl disable rtmp complex handshake.
|
||||
--without-hls disable hls, rtmp streaming only.
|
||||
--without-http disable http, http hooks callback.
|
||||
--without-http-callback disable http, http hooks callback.
|
||||
--without-ffmpeg disable the ffmpeg transcoding feature.
|
||||
--without-librtmp disable srs-librtmp, library for client.
|
||||
--without-bwtc disable srs bandwidth test client tool.
|
||||
|
@ -185,7 +185,7 @@ fi fi
|
|||
if [ $SRS_HLS = RESERVED ]; then echo "you must specifies the hls, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_SSL = RESERVED ]; then echo "you must specifies the ssl, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_FFMPEG = RESERVED ]; then echo "you must specifies the ffmpeg, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_HTTP = RESERVED ]; then echo "you must specifies the http, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_HTTP_CALLBACK = RESERVED ]; then echo "you must specifies the http, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_LIBRTMP = RESERVED ]; then echo "you must specifies the librtmp, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_BWTC = RESERVED ]; then echo "you must specifies the bwtc, see: ./configure --help"; __check_ok=NO; fi
|
||||
if [ $SRS_RESEARCH = RESERVED ]; then echo "you must specifies the research, see: ./configure --help"; __check_ok=NO; fi
|
||||
|
@ -204,7 +204,7 @@ SRS_CONFIGURE=""
|
|||
if [ $SRS_HLS = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-hls"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-hls"; fi
|
||||
if [ $SRS_SSL = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-ssl"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-ssl"; fi
|
||||
if [ $SRS_FFMPEG = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-ffmpeg"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-ffmpeg"; fi
|
||||
if [ $SRS_HTTP = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-http"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-http"; fi
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-http-callback"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-http-callback"; fi
|
||||
if [ $SRS_LIBRTMP = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-librtmp"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-librtmp"; fi
|
||||
if [ $SRS_BWTC = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-bwtc"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-bwtc"; fi
|
||||
if [ $SRS_RESEARCH = YES ]; then SRS_CONFIGURE="${SRS_CONFIGURE} --with-research"; else SRS_CONFIGURE="${SRS_CONFIGURE} --without-research"; fi
|
||||
|
|
29
trunk/conf/ffmpeg.conf
Executable file
29
trunk/conf/ffmpeg.conf
Executable file
|
@ -0,0 +1,29 @@
|
|||
listen 1935;
|
||||
vhost __defaultVhost__ {
|
||||
transcode {
|
||||
enabled on;
|
||||
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
||||
engine ff {
|
||||
enabled on;
|
||||
vfilter {
|
||||
}
|
||||
vcodec libx264;
|
||||
vbitrate 500;
|
||||
vfps 25;
|
||||
vwidth 768;
|
||||
vheight 320;
|
||||
vthreads 12;
|
||||
vprofile main;
|
||||
vpreset medium;
|
||||
vparams {
|
||||
}
|
||||
acodec libaacplus;
|
||||
abitrate 70;
|
||||
asample_rate 44100;
|
||||
achannels 2;
|
||||
aparams {
|
||||
}
|
||||
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
||||
}
|
||||
}
|
||||
}
|
14
trunk/configure
vendored
14
trunk/configure
vendored
|
@ -16,7 +16,7 @@ BLACK="\\e[0m"
|
|||
|
||||
#####################################################################################
|
||||
# parse user options, set the variables like:
|
||||
# srs features: SRS_SSL/SRS_HLS/SRS_FFMPEG/SRS_HTTP/SRS_RESEARCH/SRS_UTEST
|
||||
# srs features: SRS_SSL/SRS_HLS/SRS_FFMPEG/SRS_HTTP_CALLBACK/SRS_RESEARCH/SRS_UTEST
|
||||
# build options: SRS_JOBS
|
||||
#####################################################################################
|
||||
# parse options, exit with error when parse options invalid.
|
||||
|
@ -61,7 +61,7 @@ if [ $SRS_UTEST = YES ]; then SrsUtestMakeEntry="(cd ${SRS_OBJS}/utest; \$(MAKE)
|
|||
SrsHlsSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_HLS = YES ]; then SrsHlsSummaryColor="\$(GREEN)"; fi
|
||||
SrsSslSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_SSL = YES ]; then SrsSslSummaryColor="\$(GREEN)"; fi
|
||||
SrsFfmpegSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_FFMPEG = YES ]; then SrsFfmpegSummaryColor="\$(GREEN)"; fi
|
||||
SrsHttpSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_HTTP = YES ]; then SrsHttpSummaryColor="\$(GREEN)"; fi
|
||||
SrsHttpCallbackSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_HTTP_CALLBACK = YES ]; then SrsHttpCallbackSummaryColor="\$(GREEN)"; fi
|
||||
SrsLibrtmpSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_LIBRTMP = YES ]; then SrsLibrtmpSummaryColor="\$(GREEN)"; fi
|
||||
SrsLibrtmpSSLSummaryColor="\$(YELLOW)(disabled) "; if [ $SRS_LIBRTMP = YES ]; then if [ $SRS_SSL = YES ]; then SrsLibrtmpSSLSummaryColor="\$(GREEN)"; fi fi
|
||||
SrsBWTCSummaryColor="\$(GREEN)(disabled) "; if [ $SRS_BWTC = YES ]; then SrsBWTCSummaryColor="\$(GREEN)"; fi
|
||||
|
@ -129,8 +129,8 @@ default: bandwidth librtmp-sample utest
|
|||
@echo -e " | ${SrsSslSummaryColor}ssl: support RTMP complex handshake for client required, for instance, flash\$(BLACK)"
|
||||
@echo -e " | ${SrsFfmpegSummaryColor}ffmpeg @see: https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG\$(BLACK)"
|
||||
@echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: support transcoding RTMP stream with FFMPEG\$(BLACK)"
|
||||
@echo -e " | ${SrsHttpSummaryColor}http @see: https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPCallback\$(BLACK)"
|
||||
@echo -e " | ${SrsHttpSummaryColor}http: support http callback for authentication and event injection\$(BLACK)"
|
||||
@echo -e " | ${SrsHttpCallbackSummaryColor}http @see: https://github.com/winlinvip/simple-rtmp-server/wiki/HTTPCallback\$(BLACK)"
|
||||
@echo -e " | ${SrsHttpCallbackSummaryColor}http: support http callback for authentication and event injection\$(BLACK)"
|
||||
@echo -e " \$(BLACK)+------------------------------------------------------------------------------------\$(BLACK)"
|
||||
@echo -e "\$(GREEN)binaries @see: https://github.com/winlinvip/simple-rtmp-server/wiki/Build\$(BLACK)"
|
||||
|
||||
|
@ -256,7 +256,7 @@ END
|
|||
LibSTRoot="${SRS_OBJS}/st"; LibSTfile="${LibSTRoot}/libst.a"
|
||||
# hp(http-parser) the http request/url parser, for SRS to support HTTP callback.
|
||||
LibHttpParserRoot=""; LibHttpParserfile=""
|
||||
if [ $SRS_HTTP = YES ]; then LibHttpParserRoot="${SRS_OBJS}/hp"; LibHttpParserfile="${LibHttpParserRoot}/libhttp_parser.a"; fi
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then LibHttpParserRoot="${SRS_OBJS}/hp"; LibHttpParserfile="${LibHttpParserRoot}/libhttp_parser.a"; fi
|
||||
# openssl-1.0.1f, for the RTMP complex handshake.
|
||||
LibSSLRoot="";LibSSLfile=""
|
||||
if [ $SRS_SSL = YES ]; then LibSSLRoot="${SRS_OBJS}/openssl/include"; LibSSLfile="${SRS_OBJS}/openssl/lib/libssl.a ${SRS_OBJS}/openssl/lib/libcrypto.a"; fi
|
||||
|
@ -383,7 +383,7 @@ if [ $SRS_FFMPEG = YES ]; then
|
|||
else
|
||||
echo -e "${YELLOW}warning: without live stream transcoding over FFMPEG support${BLACK}"
|
||||
fi
|
||||
if [ $SRS_HTTP = YES ]; then
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then
|
||||
echo -e "${GREEN}http hooks callback over CherryPy is enabled${BLACK}"
|
||||
else
|
||||
echo -e "${YELLOW}warning: without http hooks callback over CherryPy support${BLACK}"
|
||||
|
@ -449,7 +449,7 @@ fi
|
|||
if [ $SRS_FFMPEG = YES ]; then
|
||||
echo -e "\" ./objs/ffmpeg/bin/ffmpeg \" is used for live stream transcoding"
|
||||
fi
|
||||
if [ $SRS_HTTP = YES ]; then
|
||||
if [ $SRS_HTTP_CALLBACK = YES ]; then
|
||||
echo -e "\" python ./research/api-server/server.py 8085 \" to start the api-server"
|
||||
fi
|
||||
echo "\" ./objs/srs -c conf/srs.conf \" to start the srs live server"
|
||||
|
|
|
@ -52,7 +52,7 @@ SrsClient::SrsClient(SrsServer* srs_server, st_netfd_t client_stfd)
|
|||
skt = new SrsSocket(client_stfd);
|
||||
rtmp = new SrsRtmpServer(skt);
|
||||
refer = new SrsRefer();
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
http_hooks = new SrsHttpHooks();
|
||||
#endif
|
||||
bandwidth = new SrsBandwidth();
|
||||
|
@ -70,7 +70,7 @@ SrsClient::~SrsClient()
|
|||
srs_freep(rtmp);
|
||||
srs_freep(skt);
|
||||
srs_freep(refer);
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
srs_freep(http_hooks);
|
||||
#endif
|
||||
srs_freep(bandwidth);
|
||||
|
@ -720,7 +720,7 @@ int SrsClient::on_connect()
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
// HTTP: on_connect
|
||||
SrsConfDirective* on_connect = _srs_config->get_vhost_on_connect(req->vhost);
|
||||
if (!on_connect) {
|
||||
|
@ -742,7 +742,7 @@ int SrsClient::on_connect()
|
|||
|
||||
void SrsClient::on_close()
|
||||
{
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
// whatever the ret code, notify the api hooks.
|
||||
// HTTP: on_close
|
||||
SrsConfDirective* on_close = _srs_config->get_vhost_on_close(req->vhost);
|
||||
|
@ -762,7 +762,7 @@ int SrsClient::on_publish()
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
// HTTP: on_publish
|
||||
SrsConfDirective* on_publish = _srs_config->get_vhost_on_publish(req->vhost);
|
||||
if (!on_publish) {
|
||||
|
@ -784,7 +784,7 @@ int SrsClient::on_publish()
|
|||
|
||||
void SrsClient::on_unpublish()
|
||||
{
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
// whatever the ret code, notify the api hooks.
|
||||
// HTTP: on_unpublish
|
||||
SrsConfDirective* on_unpublish = _srs_config->get_vhost_on_unpublish(req->vhost);
|
||||
|
@ -804,7 +804,7 @@ int SrsClient::on_play()
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
// HTTP: on_play
|
||||
SrsConfDirective* on_play = _srs_config->get_vhost_on_play(req->vhost);
|
||||
if (!on_play) {
|
||||
|
@ -826,7 +826,7 @@ int SrsClient::on_play()
|
|||
|
||||
void SrsClient::on_stop()
|
||||
{
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
// whatever the ret code, notify the api hooks.
|
||||
// HTTP: on_stop
|
||||
SrsConfDirective* on_stop = _srs_config->get_vhost_on_stop(req->vhost);
|
||||
|
|
|
@ -42,7 +42,7 @@ class SrsRefer;
|
|||
class SrsConsumer;
|
||||
class SrsCommonMessage;
|
||||
class SrsSocket;
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
class SrsHttpHooks;
|
||||
#endif
|
||||
class SrsBandwidth;
|
||||
|
@ -59,7 +59,7 @@ private:
|
|||
SrsSocket* skt;
|
||||
SrsRtmpServer* rtmp;
|
||||
SrsRefer* refer;
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
SrsHttpHooks* http_hooks;
|
||||
#endif
|
||||
SrsBandwidth* bandwidth;
|
||||
|
|
|
@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#include <srs_app_http.hpp>
|
||||
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
|
||||
#include <sstream>
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#include <srs_app_st.hpp>
|
||||
|
||||
#ifdef SRS_HTTP
|
||||
#ifdef SRS_HTTP_CALLBACK
|
||||
|
||||
class SrsRequest;
|
||||
class SrsSocket;
|
||||
|
|
Loading…
Reference in a new issue