From 442df29c8344fde662045b13a875eb82f70927d8 Mon Sep 17 00:00:00 2001 From: cqm Date: Wed, 24 May 2023 23:32:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BD=AC=E7=A0=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- conf/config.ini | 20 ++++++++++++++++++-- src/Common/config.h | 4 +++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/conf/config.ini b/conf/config.ini index 0bd86b0b..c1c85b79 100644 --- a/conf/config.ini +++ b/conf/config.ini @@ -49,15 +49,25 @@ auto_close=0 #置0关闭此特性(推流断开会导致立即断开播放器) #此参数不应大于播放器超时时间;单位毫秒 continue_push_ms=15000 - +# 是否启用音频转码 +# 转码主要基于包过滤机制,代码实现详见 MultiMediaSourceMuxer 的 onTrackReady 和 onTrackFrame 方法,当前已实现 +# 1. AAC转Opus, 然后传入rtc中 +# 2. 非AAC音频转aac,然后传入rtmp中 +# 音频转码底层使用FFMPEG来实现,需要打开FFMPEG, 即编译时必须指定 -DENABLE_FFMPEG=1, 当前已知支持FFMPEG 4.x 5.x 和 6.0, +# 在ubuntu中可通过以下指令来安装: apt-get install libavcodec-dev libavutil-dev libswscale-dev libresample-dev +# 此外音频转码正常都是用于webrtc的,一般也会开启WEBRTC, 即-DENABLE_WEBRTC=1, 此前必须自己装好libsrtp库, 安装过程详见wiki +# audio_transcode配置项可通过配置文件,hook来打开,注意如果编译时没启用FFMPEG,此选项会自动关闭,使用此分支前得先确保启用FFMPEG! +audio_transcode=1 #是否开启转换为hls(mpegts) enable_hls=1 #是否开启转换为hls(fmp4) enable_hls_fmp4=0 #是否开启MP4录制 enable_mp4=0 -#是否开启转换为rtsp/webrtc +#是否开启转换为rtsp enable_rtsp=1 +#是否开启转换为webrtc +enable_rtc=1 #是否开启转换为rtmp/flv enable_rtmp=1 #是否开启转换为http-ts/ws-ts @@ -82,6 +92,8 @@ hls_save_path=./www hls_demand=0 #rtsp[s]协议是否按需生成 rtsp_demand=0 +#rtc协议是否按需生成 +rtc_demand=0 #rtmp[s]、http[s]-flv、ws[s]-flv协议是否按需生成 rtmp_demand=0 #http[s]-ts协议是否按需生成 @@ -140,6 +152,10 @@ deleteDelaySec=10 #0为不保留,不起作用 #1为保留,则不删除hls文件,如果开启此功能,注意磁盘大小,或者定期手动清理hls文件 segKeep=0 +# 转码成opus音频时的比特率 +opusBitrate=64000 +# 转码成AAC音频时的比特率 +aacBitrate=64000 [hook] #是否启用hook事件,启用后,推拉流都将进行鉴权 diff --git a/src/Common/config.h b/src/Common/config.h index c3fdd524..591c3ace 100644 --- a/src/Common/config.h +++ b/src/Common/config.h @@ -205,7 +205,7 @@ extern const std::string kEnableHls; extern const std::string kEnableHlsFmp4; //是否开启MP4录制 extern const std::string kEnableMP4; -//是否开启转换为rtsp/webrtc +//是否开启转换为rtsp extern const std::string kEnableRtsp; //是否开启转换为rtmp/flv extern const std::string kEnableRtmp; @@ -213,7 +213,9 @@ extern const std::string kEnableRtmp; extern const std::string kEnableTS; //是否开启转换为http-fmp4/ws-fmp4 extern const std::string kEnableFMP4; +//是否开启转换为webrtc extern const std::string kEnableRtc; +//是否开启音频转码 extern const std::string kAudioTranscode; //是否将mp4录制当做观看者