You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/tools/live/objs/_srs_build_summary.sh

84 lines
7.5 KiB

#!/bin/bash
#####################################################################################
# linux shell color support.
RED="\\033[31m"
GREEN="\\033[32m"
YELLOW="\\033[33m"
BLACK="\\033[0m"
echo -e "${GREEN}build summary:${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}{disabled} gperf @see: https://github.com/ossrs/srs/wiki/v1_CN_GPERF${BLACK}"
echo -e " | ${GREEN}{disabled} gmc @see: http://google-perftools.googlecode.com/svn/trunk/doc/heap_checker.html${BLACK}"
echo -e " | ${GREEN}{disabled} gmc: gperf memory check, or memory leak detect${BLACK}"
echo -e " | ${GREEN}{disabled} env PPROF_PATH=./objs/pprof HEAPCHECK=normal ./objs/srs -c conf/console.conf 2>gmc.log # start gmc${BLACK}"
echo -e " | ${GREEN}{disabled} killall -2 srs # or CTRL+C to stop gmc${BLACK}"
echo -e " | ${GREEN}{disabled} cat gmc.log # to analysis memory leak${BLACK}"
echo -e " | ${GREEN}{disabled} gmp @see: http://google-perftools.googlecode.com/svn/trunk/doc/heapprofile.html${BLACK}"
echo -e " | ${GREEN}{disabled} gmp: gperf memory profile, similar to gcp${BLACK}"
echo -e " | ${GREEN}{disabled} rm -f gperf.srs.gmp*; ./objs/srs -c conf/console.conf # start gmp${BLACK}"
echo -e " | ${GREEN}{disabled} killall -2 srs # or CTRL+C to stop gmp${BLACK}"
echo -e " | ${GREEN}{disabled} ./objs/pprof --text objs/srs gperf.srs.gmp* # to analysis memory profile${BLACK}"
echo -e " | ${GREEN}{disabled} gcp @see: http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html${BLACK}"
echo -e " | ${GREEN}{disabled} gcp: gperf cpu profile${BLACK}"
echo -e " | ${GREEN}{disabled} rm -f gperf.srs.gcp*; ./objs/srs -c conf/console.conf # start gcp${BLACK}"
echo -e " | ${GREEN}{disabled} killall -2 srs # or CTRL+C to stop gcp${BLACK}"
echo -e " | ${GREEN}{disabled} ./objs/pprof --text objs/srs gperf.srs.gcp* # to analysis cpu profile${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}{disabled} gprof @see: https://github.com/ossrs/srs/wiki/v1_CN_GPROF${BLACK}"
echo -e " |${GREEN}{disabled} gprof: GNU profile tool, @see: http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html${BLACK}"
echo -e " | ${GREEN}{disabled} rm -f gmon.out; ./objs/srs -c conf/console.conf # start gprof${BLACK}"
echo -e " | ${GREEN}{disabled} killall -2 srs # or CTRL+C to stop gprof${BLACK}"
echo -e " | ${GREEN}{disabled} gprof -b ./objs/srs gmon.out > gprof.srs.log && rm -f gmon.out # gprof report to gprof.srs.log${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${YELLOW}{disabled} utest: ./objs/srs_utest, the utest for srs${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}librtmp @see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLibrtmp${BLACK}"
echo -e " |${GREEN}librtmp: ./objs/include, ./objs/lib, the srs-librtmp library${BLACK}"
echo -e " | ${GREEN}simple handshake: publish/play stream with simple handshake to server${BLACK}"
echo -e " | ${GREEN}complex handshake: it's not required for client, recommend disable it${BLACK}"
echo -e " | ${GREEN}librtmp-sample: ./research/librtmp, the srs-librtmp client sample${BLACK}"
echo -e " | ${GREEN}librtmp-sample: ./research/librtmp/objs/srs_ingest_flv${BLACK}"
echo -e " | ${GREEN}librtmp-sample: ./research/librtmp/objs/srs_ingest_rtmp${BLACK}"
echo -e " | ${GREEN}librtmp-sample: ./research/librtmp/objs/srs_detect_rtmp${BLACK}"
echo -e " | ${GREEN}librtmp-sample: ./research/librtmp/objs/srs_bandwidth_check${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}{disabled} research: ./objs/research, api server, players, ts info, librtmp.${BLACK}"
echo -e " | ${GREEN}{disabled} @see https://github.com/ossrs/srs/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}tools: important tool, others @see https://github.com/ossrs/srs/wiki/v2_CN_SrsLibrtmp#srs-librtmp-examples${BLACK}"
echo -e " | ${GREEN}./objs/srs_ingest_hls -i http://ossrs.net/live/livestream.m3u8 -y rtmp://127.0.0.1/live/livestream${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}server: ./objs/srs -c conf/srs.conf, start the srs server${BLACK}"
echo -e " | ${GREEN}hls @see: https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS${BLACK}"
echo -e " | ${GREEN}hls: generate m3u8 and ts from rtmp stream${BLACK}"
echo -e " | ${GREEN}dvr @see: https://github.com/ossrs/srs/wiki/v2_CN_DVR${BLACK}"
echo -e " | ${GREEN}dvr: record RTMP stream to flv files.${BLACK}"
echo -e " | ${GREEN}{disabled} nginx @see: https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS${BLACK}"
echo -e " | ${GREEN}{disabled} nginx: delivery HLS stream by nginx${BLACK}"
echo -e " | ${GREEN}{disabled} nginx: sudo ./objs/nginx/sbin/nginx${BLACK}"
echo -e " | ${GREEN}ssl @see: https://github.com/ossrs/srs/wiki/v1_CN_RTMPHandshake${BLACK}"
echo -e " | ${GREEN}ssl: support RTMP complex handshake for client required, for instance, flash${BLACK}"
echo -e " | ${YELLOW}{disabled} ffmpeg @see: https://github.com/ossrs/srs/wiki/v1_CN_FFMPEG${BLACK}"
echo -e " | ${YELLOW}{disabled} ffmpeg: transcode, mux, ingest tool${BLACK}"
echo -e " | ${YELLOW}{disabled} ffmpeg: ./objs/ffmpeg/bin/ffmpeg${BLACK}"
echo -e " | ${GREEN}transcode @see: https://github.com/ossrs/srs/wiki/v1_CN_FFMPEG${BLACK}"
echo -e " | ${GREEN}transcode: support transcoding RTMP stream${BLACK}"
echo -e " | ${GREEN}ingest @see: https://github.com/ossrs/srs/wiki/v1_CN_Ingest${BLACK}"
echo -e " | ${GREEN}ingest: support ingest file/stream/device then push to SRS by RTMP stream${BLACK}"
echo -e " | ${GREEN}http-callback @see: https://github.com/ossrs/srs/wiki/v2_CN_HTTPCallback${BLACK}"
echo -e " | ${GREEN}http-callback: support http callback for authentication and event injection${BLACK}"
echo -e " | ${GREEN}http-server @see: https://github.com/ossrs/srs/wiki/v2_CN_HTTPServer${BLACK}"
echo -e " | ${GREEN}http-server: support http server to delivery http stream${BLACK}"
echo -e " | ${GREEN}http-api @see: https://github.com/ossrs/srs/wiki/v2_CN_HTTPApi${BLACK}"
echo -e " | ${GREEN}http-api: support http api to manage server${BLACK}"
echo -e " | ${YELLOW}{disabled} stream-caster @see: https://github.com/ossrs/srs/wiki/v2_CN_Streamer${BLACK}"
echo -e " | ${YELLOW}{disabled} stream-caster: start server to cast stream over other protocols.${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e "${GREEN}binaries @see: https://github.com/ossrs/srs/wiki/v2_CN_Build${BLACK}"
echo "You can:"
echo " ./objs/srs -c conf/srs.conf"
echo " to start the srs server, with config conf/srs.conf."