env('trtc.sdk_app_id', 0), // 密钥 - 在腾讯云控制台获取 'secretKey' => env('trtc.secret_key', ''), // UserSig过期时间(秒)默认24小时 'expireTime' => 86400, // 是否启用 'enable' => env('trtc.enable', false), // 管理端聊天窗「浏览器本地录制」开关(.env [trtc] ISLOCHOSTVOD=true 开启,false 关闭) 'is_lochost_vod' => filter_var( env('trtc.ISLOCHOSTVOD', env('trtc.islochostvod', false)), FILTER_VALIDATE_BOOLEAN ), // 回调 URL 路径:/api/trtc/recording-notify 或 /api/trtc/recordingNotify(与控制台一致即可)。非空 token 时 Query 需 ?token=xxx 'recording_callback_token' => env('trtc.recording_callback_token', ''), // 云 API(CAM)SecretId / SecretKey,用于 CreateCloudRecording / DeleteCloudRecording(与 UserSig 的 secretKey 不是同一个) // .env 写在 [trtc] 段内时键名须为 API_SECRET_ID、API_SECRET_KEY(会合并为 TRTC_API_SECRET_ID 供 env('trtc.api_secret_id') 读取;勿写 TRTC_API_SECRET_ID 以免变成 TRTC_TRTC_API_SECRET_ID) 'api_secret_id' => env('trtc.api_secret_id', ''), 'api_secret_key' => env('trtc.api_secret_key', ''), // 调用 TRTC OpenAPI 的地域:ap-guangzhou / ap-beijing / ap-shanghai 'recording_api_region' => env('trtc.recording_api_region', 'ap-guangzhou'), // 云端录制请求 https://trtc.tencentcloudapi.com/ 时使用的 CA 证书包绝对路径(Windows 无系统 CA 链时填此可避免 cURL 60)。也可将 cacert.pem 放在项目根目录 server/cacert.pem 'recording_ssl_cafile' => env('trtc.recording_ssl_cafile', ''), // CreateCloudRecording → RecordParams.RecordMode:1=单流,2=混流(合流)。startMixRecording 内会强制为 2 'recording_record_mode' => (int)env('trtc.recording_record_mode', 2), // CreateCloudRecording → RoomIdType:须与 TRTC 房间一致。0=强制字符串房,1=强制数字房。留空或 auto=按房间号自动(纯数字→1,否则→0)。勿默认填 0,否则 TUICall 数字房会一直用错类型导致拉流 Idle 'recording_room_id_type' => env('trtc.recording_room_id_type', ''), // MixLayoutParams.MixLayoutMode:1悬浮 2屏幕分享 3九宫格 4自定义(见文档「合流录制的布局模式」) 'recording_mix_layout_mode' => (int)env('trtc.recording_mix_layout_mode', 3), // 合流输出分辨率(MixTranscodeParams.VideoParams),横屏问诊建议 1280x720 'recording_mix_width' => (int)env('trtc.recording_mix_width', 1280), 'recording_mix_height' => (int)env('trtc.recording_mix_height', 720), 'recording_mix_fps' => (int)env('trtc.recording_mix_fps', 15), 'recording_mix_video_bitrate' => (int)env('trtc.recording_mix_video_bitrate', 1500000), 'recording_mix_gop' => (int)env('trtc.recording_mix_gop', 2), // AudioParams:SampleRate 1=48000Hz 2=44100 3=16000;Channel 1单 2双;BitRate 32000-128000 'recording_mix_audio_sample_rate' => (int)env('trtc.recording_mix_audio_sample_rate', 1), 'recording_mix_audio_channel' => (int)env('trtc.recording_mix_audio_channel', 2), 'recording_mix_audio_bitrate' => (int)env('trtc.recording_mix_audio_bitrate', 64000), // 房间内无上行超过该秒数自动停录(RecordParams.MaxIdleTime) 'recording_max_idle_time' => (int)env('trtc.recording_max_idle_time', 5), // RecordParams.OutputFormat(仅 COS 存储生效):0=hls(默认 SDK 行为)、1=hls+mp4、3=mp4、4=aac // 需要收到 310(MP4上传完成) 回调必须设为 1 或 3;若只用 hls(0) 则仅有 305/307 回调,无 MP4 文件 'recording_output_format' => (int)env('trtc.recording_output_format', 3), // COS 对象存储(关闭控制台全局录制后,API 录制仅存 COS 时必填 bucket) // AccessKey/SecretKey 留空 → 自动复用上方 api_secret_id / api_secret_key(同账号下推荐留空) 'recording_cos_vendor' => (int)env('trtc.recording_cos_vendor', 0), 'recording_cos_region' => env('trtc.recording_cos_region', ''), 'recording_cos_bucket' => env('trtc.recording_cos_bucket', ''), 'recording_cos_access_key' => env('trtc.recording_cos_access_key', ''), 'recording_cos_secret_key' => env('trtc.recording_cos_secret_key', ''), 'recording_cos_prefix' => env('trtc.recording_cos_prefix', 'trtc-recording'), // 云点播子应用 SubAppId(TencentVod),默认不填使用主应用 'recording_vod_sub_app_id' => (int)env('trtc.recording_vod_sub_app_id', 0), // 录制机器人 UserId 前缀 'recording_bot_prefix' => env('trtc.recording_bot_prefix', 'recorder_'), // 是否把回调中的录制文件下载到本服务器 uploads 目录(再写入 recording_urls) 'recording_mirror_to_storage' => (int)env('trtc.recording_mirror_to_storage', 0), ];