winlin

refine the build script

@@ -11,3 +11,16 @@ @@ -11,3 +11,16 @@
11 *.lai 11 *.lai
12 *.la 12 *.la
13 *.a 13 *.a
  14 +
  15 +# by winlin
  16 +*.pyc
  17 +*.swp
  18 +/trunk/Makefile
  19 +/trunk/objs
  20 +/trunk/research/librtmp/objs
  21 +/trunk/3rdparty/ccache/ccache-3.1.9
  22 +/trunk/3rdparty/gprof/graphviz-2.36.0
  23 +/trunk/research/api-server/static-dir/crossdomain.xml
  24 +/trunk/research/api-server/static-dir/forward
  25 +/trunk/research/api-server/static-dir/live
  26 +/trunk/research/api-server/static-dir/players
@@ -571,6 +571,10 @@ if [ $SRS_RESEARCH = YES ]; then @@ -571,6 +571,10 @@ if [ $SRS_RESEARCH = YES ]; then
571 571
572 (cd research/ffempty && make ${SRS_JOBS} && mv ffempty ../../${SRS_OBJS}/research) 572 (cd research/ffempty && make ${SRS_JOBS} && mv ffempty ../../${SRS_OBJS}/research)
573 ret=$?; if [[ $ret -ne 0 ]]; then echo "build research/ffempty failed, ret=$ret"; exit $ret; fi 573 ret=$?; if [[ $ret -ne 0 ]]; then echo "build research/ffempty failed, ret=$ret"; exit $ret; fi
  574 +
  575 + # librtmp
  576 + (cd research/librtmp && mkdir -p objs && ln -sf `pwd`/objs ../../${SRS_OBJS}/research/librtmp)
  577 + ret=$?; if [[ $ret -ne 0 ]]; then echo "link research/librtmp failed, ret=$ret"; exit $ret; fi
574 fi 578 fi
575 579
576 ##################################################################################### 580 #####################################################################################
@@ -157,7 +157,7 @@ echo -e " | ${SrsGprofSummaryColor}rm -f gmon.out; ./objs/srs -c conf/sr @@ -157,7 +157,7 @@ echo -e " | ${SrsGprofSummaryColor}rm -f gmon.out; ./objs/srs -c conf/sr
157 echo -e " | ${SrsGprofSummaryColor}killall -2 srs # or CTRL+C to stop gprof\${BLACK}" 157 echo -e " | ${SrsGprofSummaryColor}killall -2 srs # or CTRL+C to stop gprof\${BLACK}"
158 echo -e " | ${SrsGprofSummaryColor}gprof -b ./objs/srs gmon.out > gprof.srs.log && rm -f gmon.out # gprof report to gprof.srs.log\${BLACK}" 158 echo -e " | ${SrsGprofSummaryColor}gprof -b ./objs/srs gmon.out > gprof.srs.log && rm -f gmon.out # gprof report to gprof.srs.log\${BLACK}"
159 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" 159 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
160 -echo -e " |${SrsResearchSummaryColor}research: ./objs/research, api server, players, ts info.\${BLACK}" 160 +echo -e " |${SrsResearchSummaryColor}research: ./objs/research, api server, players, ts info, librtmp.\${BLACK}"
161 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" 161 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
162 echo -e " |${SrsBWTCSummaryColor}bandwidth: ./objs/bandwidth, the bandwidth test client\${BLACK}" 162 echo -e " |${SrsBWTCSummaryColor}bandwidth: ./objs/bandwidth, the bandwidth test client\${BLACK}"
163 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" 163 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
@@ -176,10 +176,12 @@ echo -e " | ${SrsDvrSummaryColor}dvr @see: https://github.com/winlinvip/ @@ -176,10 +176,12 @@ echo -e " | ${SrsDvrSummaryColor}dvr @see: https://github.com/winlinvip/
176 echo -e " | ${SrsDvrSummaryColor}dvr: record RTMP stream to flv files.\${BLACK}" 176 echo -e " | ${SrsDvrSummaryColor}dvr: record RTMP stream to flv files.\${BLACK}"
177 echo -e " | ${SrsNginxSummaryColor}nginx @see: https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS\${BLACK}" 177 echo -e " | ${SrsNginxSummaryColor}nginx @see: https://github.com/winlinvip/simple-rtmp-server/wiki/DeliveryHLS\${BLACK}"
178 echo -e " | ${SrsNginxSummaryColor}nginx: delivery HLS stream by nginx\${BLACK}" 178 echo -e " | ${SrsNginxSummaryColor}nginx: delivery HLS stream by nginx\${BLACK}"
  179 +echo -e " | ${SrsNginxSummaryColor}nginx: sudo ./objs/nginx/sbin/nginx\${BLACK}"
179 echo -e " | ${SrsSslSummaryColor}ssl @see: https://github.com/winlinvip/simple-rtmp-server/wiki/RTMPHandshake\${BLACK}" 180 echo -e " | ${SrsSslSummaryColor}ssl @see: https://github.com/winlinvip/simple-rtmp-server/wiki/RTMPHandshake\${BLACK}"
180 echo -e " | ${SrsSslSummaryColor}ssl: support RTMP complex handshake for client required, for instance, flash\${BLACK}" 181 echo -e " | ${SrsSslSummaryColor}ssl: support RTMP complex handshake for client required, for instance, flash\${BLACK}"
181 echo -e " | ${SrsFfmpegSummaryColor}ffmpeg @see: https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG\${BLACK}" 182 echo -e " | ${SrsFfmpegSummaryColor}ffmpeg @see: https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG\${BLACK}"
182 echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: transcode, mux, ingest tool\${BLACK}" 183 echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: transcode, mux, ingest tool\${BLACK}"
  184 +echo -e " | ${SrsFfmpegSummaryColor}ffmpeg: ./objs/ffmpeg/bin/ffmpeg\${BLACK}"
183 echo -e " | ${SrsTranscodeSummaryColor}transcode @see: https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG\${BLACK}" 185 echo -e " | ${SrsTranscodeSummaryColor}transcode @see: https://github.com/winlinvip/simple-rtmp-server/wiki/FFMPEG\${BLACK}"
184 echo -e " | ${SrsTranscodeSummaryColor}transcode: support transcoding RTMP stream\${BLACK}" 186 echo -e " | ${SrsTranscodeSummaryColor}transcode: support transcoding RTMP stream\${BLACK}"
185 echo -e " | ${SrsIngestSummaryColor}ingest @see: https://github.com/winlinvip/simple-rtmp-server/wiki/Ingest\${BLACK}" 187 echo -e " | ${SrsIngestSummaryColor}ingest @see: https://github.com/winlinvip/simple-rtmp-server/wiki/Ingest\${BLACK}"
@@ -192,6 +194,10 @@ echo -e " | ${SrsHttpApiSummaryColor}http-api @see: https://github.com/w @@ -192,6 +194,10 @@ echo -e " | ${SrsHttpApiSummaryColor}http-api @see: https://github.com/w
192 echo -e " | ${SrsHttpApiSummaryColor}http-api: support http api to manage server\${BLACK}" 194 echo -e " | ${SrsHttpApiSummaryColor}http-api: support http api to manage server\${BLACK}"
193 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}" 195 echo -e " \${BLACK}+------------------------------------------------------------------------------------\${BLACK}"
194 echo -e "\${GREEN}binaries @see: https://github.com/winlinvip/simple-rtmp-server/wiki/Build\${BLACK}" 196 echo -e "\${GREEN}binaries @see: https://github.com/winlinvip/simple-rtmp-server/wiki/Build\${BLACK}"
  197 +
  198 +echo "you can:"
  199 +echo " ./objs/srs -c conf/srs.conf"
  200 +echo " to start the srs server, with config file."
195 END 201 END
196 202
197 ##################################################################################### 203 #####################################################################################
@@ -651,12 +657,9 @@ fi @@ -651,12 +657,9 @@ fi
651 ##################################################################################### 657 #####################################################################################
652 ip=`ifconfig|grep "inet addr"| grep -v "127.0.0.1"|awk '{print $2}'|awk -F ':' 'NR==1 {print $2}'` 658 ip=`ifconfig|grep "inet addr"| grep -v "127.0.0.1"|awk '{print $2}'|awk -F ':' 'NR==1 {print $2}'`
653 echo "" 659 echo ""
654 -echo "you can:"  
655 -echo "\" make \" to build the srs(simple rtmp server)."  
656 -echo "\" make help \" to get the usage of make" 660 +echo "to run 3rdparty application:"
657 if [ $SRS_NGINX = YES ]; then 661 if [ $SRS_NGINX = YES ]; then
658 echo "\" sudo ./objs/nginx/sbin/nginx \" to start the nginx http server for hls" 662 echo "\" sudo ./objs/nginx/sbin/nginx \" to start the nginx http server for hls"
659 - echo "\" http://$ip \" rtmp players(OSMF/JWPlayer)"  
660 fi 663 fi
661 if [ $SRS_FFMPEG_TOOL = YES ]; then 664 if [ $SRS_FFMPEG_TOOL = YES ]; then
662 echo -e "\" ./objs/ffmpeg/bin/ffmpeg \" is used for live stream transcoding" 665 echo -e "\" ./objs/ffmpeg/bin/ffmpeg \" is used for live stream transcoding"
@@ -664,5 +667,7 @@ fi @@ -664,5 +667,7 @@ fi
664 if [ $SRS_HTTP_CALLBACK = YES ]; then 667 if [ $SRS_HTTP_CALLBACK = YES ]; then
665 echo -e "\" python ./research/api-server/server.py 8085 \" to start the api-server" 668 echo -e "\" python ./research/api-server/server.py 8085 \" to start the api-server"
666 fi 669 fi
667 -echo "\" ./objs/srs -c conf/srs.conf \" to start the srs live server"  
668 -echo "\" ./objs/srs.test \" to test srs" 670 +echo ""
  671 +echo "to build:"
  672 +echo "\" make \" to build the srs(simple rtmp server)."
  673 +echo "\" make help \" to get the usage of make"
@@ -3,7 +3,7 @@ GCC = gcc @@ -3,7 +3,7 @@ GCC = gcc
3 ifeq ($(HANDSHAKE),) 3 ifeq ($(HANDSHAKE),)
4 ST_ALL = help 4 ST_ALL = help
5 else 5 else
6 - ST_ALL = srs_flv_parser srs_flv_injecter srs_publish srs_play srs_ingest_flv srs_ingest_rtmp srs_detect_rtmp 6 + ST_ALL = objs/srs_flv_parser objs/srs_flv_injecter objs/srs_publish objs/srs_play objs/srs_ingest_flv objs/srs_ingest_rtmp objs/srs_detect_rtmp
7 endif 7 endif
8 8
9 .PHONY: default clean help ssl nossl 9 .PHONY: default clean help ssl nossl
@@ -32,7 +32,7 @@ help: @@ -32,7 +32,7 @@ help:
32 @echo "Remark: before make this sample, user must make the srs, with/without ssl" 32 @echo "Remark: before make this sample, user must make the srs, with/without ssl"
33 33
34 clean: 34 clean:
35 - @rm -f srs_flv_parser srs_flv_injecter srs_publish srs_play srs_ingest_flv srs_ingest_rtmp srs_detect_rtmp 35 + @rm -rf objs
36 36
37 # srs library root 37 # srs library root
38 SRS_OBJS = ../../objs 38 SRS_OBJS = ../../objs
@@ -62,27 +62,29 @@ ifeq ($(HANDSHAKE), SSL) @@ -62,27 +62,29 @@ ifeq ($(HANDSHAKE), SSL)
62 endif 62 endif
63 63
64 ssl: 64 ssl:
  65 + @mkdir -p objs
65 $(MAKE) HANDSHAKE="SSL" 66 $(MAKE) HANDSHAKE="SSL"
66 nossl: 67 nossl:
  68 + @mkdir -p objs
67 $(MAKE) HANDSHAKE="NOSSL" 69 $(MAKE) HANDSHAKE="NOSSL"
68 70
69 -srs_flv_parser: srs_flv_parser.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L)  
70 - $(GCC) srs_flv_parser.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_flv_parser 71 +objs/srs_flv_parser: srs_flv_parser.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L)
  72 + $(GCC) srs_flv_parser.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_flv_parser
71 73
72 -srs_flv_injecter: srs_flv_injecter.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L)  
73 - $(GCC) srs_flv_injecter.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_flv_injecter 74 +objs/srs_flv_injecter: srs_flv_injecter.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L)
  75 + $(GCC) srs_flv_injecter.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_flv_injecter
74 76
75 -srs_publish: srs_publish.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)  
76 - $(GCC) srs_publish.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_publish 77 +objs/srs_publish: srs_publish.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
  78 + $(GCC) srs_publish.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_publish
77 79
78 -srs_play: srs_play.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)  
79 - $(GCC) srs_play.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_play 80 +objs/srs_play: srs_play.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
  81 + $(GCC) srs_play.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_play
80 82
81 -srs_ingest_flv: srs_ingest_flv.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)  
82 - $(GCC) srs_ingest_flv.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_ingest_flv 83 +objs/srs_ingest_flv: srs_ingest_flv.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
  84 + $(GCC) srs_ingest_flv.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_ingest_flv
83 85
84 -srs_ingest_rtmp: srs_ingest_rtmp.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)  
85 - $(GCC) srs_ingest_rtmp.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_ingest_rtmp 86 +objs/srs_ingest_rtmp: srs_ingest_rtmp.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
  87 + $(GCC) srs_ingest_rtmp.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_ingest_rtmp
86 88
87 -srs_detect_rtmp: srs_detect_rtmp.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)  
88 - $(GCC) srs_detect_rtmp.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o srs_detect_rtmp 89 +objs/srs_detect_rtmp: srs_detect_rtmp.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
  90 + $(GCC) srs_detect_rtmp.c $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L) $(EXTRA_CXX_FLAG) -o objs/srs_detect_rtmp
@@ -42,7 +42,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -42,7 +42,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
42 extern "C"{ 42 extern "C"{
43 #endif 43 #endif
44 44
45 -// the output handler. 45 +// the RTMP handler.
46 typedef void* srs_rtmp_t; 46 typedef void* srs_rtmp_t;
47 47
48 /** 48 /**