流媒体网站源码分享,流媒体网站搭建

大家好,今天来为大家解答流媒体网站源码分享这个问题的一些问题点,包括流媒体网站搭建也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

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

流媒体网站源码分享和流媒体网站搭建的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平