大家好,今天来为大家解答流媒体网站源码分享这个问题的一些问题点,包括流媒体网站搭建也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
SRS环境搭建
srs官网:SRS官网
码云的源速度快:码云的源速度快
github的源速度慢:github的源速度慢
选择当前最新的release版本3.0
第一步,获取SRS。详细参考GIT获取代码
gitclonehttps://gitee.com/winlinvip/srs.oschina.gitsrs.3.0-20200720
cdsrs.3.0-20200720
http监听端?,注意??配置的端?\n12dir./objs/nginx/html;\n13}\n14stats{\n15network0;\n16disksdasdbxvdaxvdb;\n17}\n18vhost__defaultVhost__{\n19http-flvdarren\n27http_remux{\n28enabledon;\n29mount[vhost]/[app]/[stream].flv;\n30hstrson;\n31}\n32}
SRS全网独一份的视频文档资料私信1,进群免费领取,更有【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发-学习视频教程-腾讯课堂
第四步,启动SRS。
./objs/srs-cconf/srs.conf
1ubuntu@VM-0-13-ubuntu:~/0voice/media/srs.3.0-20200720/trunk$./objs/s\n2rs-cconf/srs.conf\n2后台运?结果\n3[2020-07-2017:34:48.061][Trace][30433][0]XCORE-SRS/3.0.141(OuXuli)\n4[2020-07-2017:34:48.061][Trace][30433][0]configparsecomplete\n5[2020-07-2017:34:48.061][Trace][30433][0]writelogtofile./objs/s\nrs.log\n6[2020-07-2017:34:48.061][Trace][30433][0]youcan:tailf./objs/srs.\nlog\n7[2020-07-2017:34:48.061][Trace][30433][0]@see:https://github.com/o\nssrs/srs/wiki/v1_CN_SrsLog
确认是否已经正常启动
1ubuntu@VM-0-13-ubuntu:~/0voice/media/srs.3.0-20200720/trunk$sudops\n-ef|grepsrs\n2ubuntu304351017:34pts/000:00:00./objs/srs-cconf/sr\ns.conf
显示到ubuntu304351017:34pts/000:00:00./objs/srs-cconf/srs.conf
安全退出正在运行的srs
sudokill-SIGQUITsrs_pid
默认是后台启动的方式,如果是要方便GDB调试则需要修改配置文件为前台启动。
1listen1935;\n2max_connections1000;\n3srs_log_file./objs/srs.log;\n5打印到终端控制台\n8srs_log_tankconsole;\n9http_api{\n10enabledon;\n11listen1985;\n12}\n313http_server{\n14enabledon;\n15listen8081;hlsdarren\n24hls{\n25enabledon;\n26hls_path./objs/nginx/html;\n27hls_fragment10;\n28hls_window60;\n29}\n30define
SRS_CONSTS_LOG_PLAY&34;;发布的标记34;CPB”;SRS_CONSTS_HTTP_XXX等HTTP响应码;SRS_CONSTS_RTSP_XXX响应码等等。
│├──srs_kernel_error.cpp
│├──srs_kernel_error.hpp返回值常量定义,ERROR_XXX;SrsCplxError异常类
│├──srs_kernel_file.cpp
│├──srs_kernel_file.hpp文件的读写,SrsFileWriter文件写入器,SrsFileReader文件读取器
│├──srs_kernel_flv.cpp
│├──srs_kernel_flv.hppFLVSrsFlvDecoder解析,SrsFlvTransmuxer将RTMP转成FLV流;
SrsSharedPtrMessage对应RTMP的消息
│├──srs_kernel_io.cpp
│├──srs_kernel_io.hppIO读写接口类
│├──srs_kernel_log.cpp
│├──srs_kernel_log.hpp日志相关
│├──srs_kernel_mp3.cpp
│├──srs_kernel_mp3.hppSrsMp3Transmuxer将RTMP转成MP3流
│├──srs_kernel_mp4.cpp
│├──srs_kernel_mp4.hppSrsMp4EncoderMP4复用器;
│├──srs_kernel_stream.cpp
│├──srs_kernel_stream.hppSrsSimpleStream用vector实现的简单的字节append类,主要在
hls和http中使用,将来需要进行改进。
│├──srs_kernel_ts.cpp
│├──srs_kernel_ts.hppSrsTsTransmuxer将RTMP流转成http-ts流,该文件实现了ts格式相
关的接口
│├──srs_kernel_utility.cpp
│└──srs_kernel_utility.hpp工具函数,比如boolsrs_string_ends_with(std::stringstr,
std::stringflag)
├──libs
│├──srs_lib_bandwidth.cpp
│├──srs_lib_bandwidth.hppSrsBandwidthClientsrs-librtmp客户端带宽统计
│├──srs_librtmp.cpp
│├──srs_librtmp.hppsrs提供的客户端rtmp库
│├──srs_lib_simple_socket.cpp
│└──srs_lib_simple_socket.hppSimpleSocketStreamrtmp客户端的socket封装10
├──main
│├──srs_main_ingest_hls.cpp拉取hls发布到rtmp流媒体服务器
│├──srs_main_mp4_parser.cppMP4box解析
│└──srs_main_server.cppsrs流媒体服务器主入口
├──protocol流媒体协议相关的协议都在这里
│├──srs_http_stack.cpp
│├──srs_http_stack.hppHTTP协议
│├──srs_protocol_amf0.cpp
│├──srs_protocol_amf0.hppAmf0解析
│├──srs_protocol_format.cpp
│├──srs_protocol_format.hppSrsRtmpFormat继承了SrsFormat,代表RTMP格式
│├──srs_protocol_io.cpp
│├──srs_protocol_io.hpp协议数据读取的IO封装接口,比如ISrsProtocolReadWriter
│├──srs_protocol_json.cpp
│├──srs_protocol_json.hppjson类
│├──srs_protocol_kbps.cpp
│├──srs_protocol_kbps.hpp比特率统计相关
│├──srs_protocol_stream.cpp
│├──srs_protocol_stream.hpp流读取,从ISrsReader读取数据到buffer里面
│├──srs_protocol_utility.cpp
│├──srs_protocol_utility.hpp协议工具函数
│├──srs_raw_avc.cpp
│├──srs_raw_avc.hppSrsRawH264StreamH264裸流解析,SrsRawAacStreamAAC
裸流解析
│├──srs_rtmp_handshake.cpp
│├──srs_rtmp_handshake.hppRTMP握手,包括SrsSimpleHandshake和
SrsComplexHandshake
│├──srs_rtmp_msg_array.cpp
│├──srs_rtmp_msg_array.hppSrsMessageArray消息数组
│├──srs_rtmp_stack.cpp
│├──srs_rtmp_stack.hppRTMP协议栈
│├──srs_rtsp_stack.cpp
│└──srs_rtsp_stack.hppRTSP协议栈
├──service
│├──srs_service_conn.cpp
│├──srs_service_conn.hppISrsConnectionHTTP/RTMP/RTSP等对象的连接接口;
IConnectionManager管理连接接口
│├──srs_service_http_client.cpp
│├──srs_service_http_client.hppSrsHttpClientHTTP客户端
│├──srs_service_http_conn.cpp11
│├──srs_service_http_conn.hppHTTP连接SrsHttpParser,SrsHttpMessage,
SrsHttpResponseWriter,SrsHttpResponseReader
│├──srs_service_log.cpp
│├──srs_service_log.hppSrsConsoleLog日志相关
│├──srs_service_rtmp_conn.cpp
│├──srs_service_rtmp_conn.hppSrsBasicRtmpClientRTMP客户端类
│├──srs_service_st.cpp
│├──srs_service_st.hpp对st-thread协程的封装
│├──srs_service_utility.cpp
│└──srs_service_utility.hppservice组件的工具类
└──utest
├──srs_utest_amf0.cpp
├──srs_utest_amf0.hpp
├──srs_utest_app.cpp
├──srs_utest_app.hpp
├──srs_utest_avc.cpp
├──srs_utest_avc.hpp
├──srs_utest_config.cpp
├──srs_utest_config.hpp
………..还有其他utest文件,这里忽略
8directories,203files
流媒体网站源码分享和流媒体网站搭建的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!