实例介绍
Simple rtmp server(SRS)提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换
【实例截图】
【核心代码】
4744300845218038897.zip
└── srs-1.0-r4
├── AUTHORS.txt
├── DONATIONS.txt
├── LICENSE
├── README.md
└── trunk
├── 3rdparty
│ ├── bootstrap.2.3.2.zip
│ ├── ccache
│ │ ├── build_ccache.sh
│ │ ├── ccache-3.1.9.zip
│ │ └── readme.txt
│ ├── CherryPy-3.2.4.zip
│ ├── ffmpeg-2.1.1.zip
│ ├── gperftools-2.1.zip
│ ├── gprof
│ │ ├── build_gprof2dot.sh
│ │ ├── gprof2dot.py
│ │ ├── graphviz-2.36.0.zip
│ │ └── readme.txt
│ ├── gtest-1.6.0.zip
│ ├── http-parser-2.1.zip
│ ├── jquery-1.10.2.zip
│ ├── lame-3.99.5.zip
│ ├── libaacplus-2.0.2.zip
│ ├── libaacplus-patch-26410-800.zip
│ ├── nginx-1.5.7.zip
│ ├── openssl-1.0.1f.zip
│ ├── patches
│ │ └── 1.st.arm.patch
│ ├── readme.txt
│ ├── speex-1.2rc1.zip
│ ├── st-1.9.zip
│ ├── x264-snapshot-20131129-2245-stable.zip
│ └── yasm-1.2.0.zip
├── auto
│ ├── apps.sh
│ ├── build_ffmpeg.sh
│ ├── depends.sh
│ ├── generate_header.sh
│ ├── libs.sh
│ ├── local_ip.sh
│ ├── modules.sh
│ ├── options.sh
│ └── utest.sh
├── CMakeLists.txt
├── conf
│ ├── bandwidth.conf
│ ├── console.conf
│ ├── demo.19350.conf
│ ├── demo.conf
│ ├── dvr.segment.conf
│ ├── dvr.session.conf
│ ├── edge.conf
│ ├── edge.token.traverse.conf
│ ├── ffmpeg.transcode.conf
│ ├── forward.master.conf
│ ├── forward.slave.conf
│ ├── full.conf
│ ├── hls.conf
│ ├── http.heartbeat.conf
│ ├── http.hls.conf
│ ├── http.hooks.callback.conf
│ ├── ingest.conf
│ ├── origin.conf
│ ├── realtime.conf
│ ├── rtmp.conf
│ ├── srs.conf
│ └── transcode2hls.audio.only.conf
├── configure
├── doc
│ ├── aac-iso-13818-7.pdf
│ ├── aac-mp4a-format-ISO_IEC_14496-3+2001.pdf
│ ├── amf0_spec_121207.pdf
│ ├── amf3_spec_121207.pdf
│ ├── arpa-internet-text-messages-rfc822.txt
│ ├── ffmpeg-logo.png
│ ├── ffmpeg-min.png
│ ├── flv_v10_1.pdf
│ ├── H.264-AVC-ISO_IEC_14496-10.pdf
│ ├── H.264-AVC-ISO_IEC_14496-15.pdf
│ ├── H.264_MPEG-4-Part-10-White-Paper.pdf
│ ├── hls-m3u8-draft-pantos-http-live-streaming-12.txt
│ ├── hls-mpeg-ts-iso13818-1.pdf
│ ├── hls-mpeg-ts-VB_WhitePaper_TransportStreamVSProgramStream_rd2.pdf
│ ├── http1.0-rfc1945.txt
│ ├── http1.1-rfc2616.txt
│ ├── readme.txt
│ ├── rtmfp-rfc7016.pdf
│ ├── rtmfp-tsvarea-1.pdf
│ ├── rtmp.part1.Chunk-Stream.pdf
│ ├── rtmp.part2.Message-Formats.pdf
│ ├── rtmp.part3.Commands-Messages.pdf
│ ├── rtmp_specification_1.0.pdf
│ ├── rtp-rfc3550-2003.pdf
│ ├── rtsp-rfc2326-1998.pdf
│ ├── source.200kbps.768x320.flv
│ ├── srs-logo.png
│ └── video_file_format_spec_v10_1.pdf
├── etc
│ └── init.d
│ ├── srs
│ ├── srs-api
│ ├── srs-demo
│ └── srs-demo-19350
├── research
│ ├── api-server
│ │ ├── server.py
│ │ └── static-dir
│ │ ├── favicon.ico
│ │ └── index.html
│ ├── arm
│ │ ├── jmp.cpp
│ │ ├── jmp_sp.cpp
│ │ └── test.cpp
│ ├── code-statistic
│ │ ├── cs.py
│ │ └── csr.py
│ ├── ffempty
│ │ ├── ffempty.cc
│ │ └── Makefile
│ ├── gperftools
│ │ ├── cpu-profiler
│ │ │ ├── cpu_profiler.cc
│ │ │ └── Makefile
│ │ ├── heap-checker
│ │ │ ├── heap_checker.cc
│ │ │ └── Makefile
│ │ └── heap-profiler
│ │ ├── heap_profiler.cc
│ │ └── Makefile
│ ├── hls
│ │ ├── Makefile
│ │ └── ts_info.cc
│ ├── librtmp
│ │ ├── Makefile
│ │ ├── srs_bandwidth_check.c
│ │ ├── srs_detect_rtmp.c
│ │ ├── srs_flv_injecter.c
│ │ ├── srs_flv_parser.c
│ │ ├── srs_ingest_flv.c
│ │ ├── srs_ingest_rtmp.c
│ │ ├── srs_play.c
│ │ ├── srs_publish.c
│ │ └── srs_research_public.h
│ ├── players
│ │ ├── api-server_index.html
│ │ ├── crossdomain.xml
│ │ ├── css
│ │ │ └── bootstrap.min.css
│ │ ├── img
│ │ │ └── tooltip.png
│ │ ├── index.html
│ │ ├── js
│ │ │ ├── AdobeFlashPlayerInstall.swf
│ │ │ ├── bootstrap.min.js
│ │ │ ├── jquery-1.10.2.min.js
│ │ │ ├── jquery-1.10.2.min.map
│ │ │ ├── json2.js
│ │ │ ├── jwplayer.flash.swf
│ │ │ ├── jwplayer.html5.js
│ │ │ ├── jwplayer.js
│ │ │ ├── srs.log.js
│ │ │ ├── srs.page.js
│ │ │ ├── srs.player.js
│ │ │ ├── srs.publisher.js
│ │ │ ├── srs.utility.js
│ │ │ ├── StrobeMediaPlayback.swf
│ │ │ └── swfobject.js
│ │ ├── jwplayer6.html
│ │ ├── nginx_index.html
│ │ ├── osmf.html
│ │ ├── srs_bwt
│ │ │ ├── release
│ │ │ │ └── srs_bwt.swf
│ │ │ └── src
│ │ │ ├── SrsBandwidth.as
│ │ │ ├── srs.bandwidth.js
│ │ │ └── srs_bwt.as
│ │ ├── srs_bwt.html
│ │ ├── srs_chat.html
│ │ ├── srs-http-server_index.html
│ │ ├── srs_player
│ │ │ ├── release
│ │ │ │ └── srs_player.swf
│ │ │ └── src
│ │ │ └── srs_player.as
│ │ ├── srs_player.html
│ │ ├── srs_publisher
│ │ │ ├── release
│ │ │ │ └── srs_publisher.swf
│ │ │ └── src
│ │ │ └── srs_publisher.as
│ │ ├── srs_publisher.html
│ │ └── vlc.html
│ └── python-subprocess
│ ├── main.py
│ └── python.subprocess.cpp
├── scripts
│ ├── build.sh
│ ├── git2unix.sh
│ ├── git.commit.sh
│ ├── install.sh
│ ├── _log.sh
│ ├── package.sh
│ ├── run.sh
│ ├── srs.test
│ ├── stop.sh
│ └── test_configure.sh
└── src
├── app
│ ├── srs_app_avc_aac.cpp
│ ├── srs_app_avc_aac.hpp
│ ├── srs_app_bandwidth.cpp
│ ├── srs_app_bandwidth.hpp
│ ├── srs_app_config.cpp
│ ├── srs_app_config.hpp
│ ├── srs_app_conn.cpp
│ ├── srs_app_conn.hpp
│ ├── srs_app_dvr.cpp
│ ├── srs_app_dvr.hpp
│ ├── srs_app_edge.cpp
│ ├── srs_app_edge.hpp
│ ├── srs_app_empty.cpp
│ ├── srs_app_empty.hpp
│ ├── srs_app_encoder.cpp
│ ├── srs_app_encoder.hpp
│ ├── srs_app_ffmpeg.cpp
│ ├── srs_app_ffmpeg.hpp
│ ├── srs_app_forward.cpp
│ ├── srs_app_forward.hpp
│ ├── srs_app_heartbeat.cpp
│ ├── srs_app_heartbeat.hpp
│ ├── srs_app_hls.cpp
│ ├── srs_app_hls.hpp
│ ├── srs_app_http_api.cpp
│ ├── srs_app_http_api.hpp
│ ├── srs_app_http_client.cpp
│ ├── srs_app_http_client.hpp
│ ├── srs_app_http_conn.cpp
│ ├── srs_app_http_conn.hpp
│ ├── srs_app_http.cpp
│ ├── srs_app_http_hooks.cpp
│ ├── srs_app_http_hooks.hpp
│ ├── srs_app_http.hpp
│ ├── srs_app_ingest.cpp
│ ├── srs_app_ingest.hpp
│ ├── srs_app_json.cpp
│ ├── srs_app_json.hpp
│ ├── srs_app_kbps.cpp
│ ├── srs_app_kbps.hpp
│ ├── srs_app_log.cpp
│ ├── srs_app_log.hpp
│ ├── srs_app_pithy_print.cpp
│ ├── srs_app_pithy_print.hpp
│ ├── srs_app_refer.cpp
│ ├── srs_app_refer.hpp
│ ├── srs_app_reload.cpp
│ ├── srs_app_reload.hpp
│ ├── srs_app_rtmp_conn.cpp
│ ├── srs_app_rtmp_conn.hpp
│ ├── srs_app_server.cpp
│ ├── srs_app_server.hpp
│ ├── srs_app_source.cpp
│ ├── srs_app_source.hpp
│ ├── srs_app_st.cpp
│ ├── srs_app_st.hpp
│ ├── srs_app_st_socket.cpp
│ ├── srs_app_st_socket.hpp
│ ├── srs_app_thread.cpp
│ ├── srs_app_thread.hpp
│ ├── srs_app_utility.cpp
│ └── srs_app_utility.hpp
├── core
│ ├── srs_core_autofree.cpp
│ ├── srs_core_autofree.hpp
│ ├── srs_core.cpp
│ └── srs_core.hpp
├── kernel
│ ├── srs_kernel_buffer.cpp
│ ├── srs_kernel_buffer.hpp
│ ├── srs_kernel_codec.cpp
│ ├── srs_kernel_codec.hpp
│ ├── srs_kernel_consts.cpp
│ ├── srs_kernel_consts.hpp
│ ├── srs_kernel_error.cpp
│ ├── srs_kernel_error.hpp
│ ├── srs_kernel_file.cpp
│ ├── srs_kernel_file.hpp
│ ├── srs_kernel_flv.cpp
│ ├── srs_kernel_flv.hpp
│ ├── srs_kernel_log.cpp
│ ├── srs_kernel_log.hpp
│ ├── srs_kernel_stream.cpp
│ ├── srs_kernel_stream.hpp
│ ├── srs_kernel_utility.cpp
│ └── srs_kernel_utility.hpp
├── libs
│ ├── srs_lib_bandwidth.cpp
│ ├── srs_lib_bandwidth.hpp
│ ├── srs_librtmp.cpp
│ ├── srs_librtmp.hpp
│ ├── srs_lib_simple_socket.cpp
│ └── srs_lib_simple_socket.hpp
├── main
│ └── srs_main_server.cpp
├── rtmp
│ ├── srs_protocol_amf0.cpp
│ ├── srs_protocol_amf0.hpp
│ ├── srs_protocol_handshake.cpp
│ ├── srs_protocol_handshake.hpp
│ ├── srs_protocol_io.cpp
│ ├── srs_protocol_io.hpp
│ ├── srs_protocol_msg_array.cpp
│ ├── srs_protocol_msg_array.hpp
│ ├── srs_protocol_rtmp.cpp
│ ├── srs_protocol_rtmp.hpp
│ ├── srs_protocol_stack.cpp
│ ├── srs_protocol_stack.hpp
│ ├── srs_protocol_utility.cpp
│ └── srs_protocol_utility.hpp
├── srs
│ ├── init
│ └── srs.upp
└── utest
├── srs_utest_amf0.cpp
├── srs_utest_amf0.hpp
├── srs_utest_config.cpp
├── srs_utest_config.hpp
├── srs_utest_core.cpp
├── srs_utest_core.hpp
├── srs_utest.cpp
├── srs_utest.hpp
├── srs_utest_kernel.cpp
├── srs_utest_kernel.hpp
├── srs_utest_protocol.cpp
├── srs_utest_protocol.hpp
├── srs_utest_reload.cpp
└── srs_utest_reload.hpp
47 directories, 292 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论