tencent cloud

Tencent Real-Time Communication

소식 및 공지 사항
제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내
제품 소개
제품 개요
기본 개념
제품 기능
제품 장점
응용 시나리오
성능 데이터
구매 가이드
Billing Overview
무료 시간 안내
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
과금 FAQ
Refund Instructions
신규 사용자 가이드
Demo 체험
Call
개요(TUICallKit)
Activate the Service
Run Demo
빠른 통합(TUICallKit)
오프라인 푸시
Conversational Chat
온클라우드 녹화(TUICallKit)
AI Noise Reduction
UI 사용자 정의
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
릴리스 노트
FAQs
라이브 스트리밍
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Demo 실행
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDK 다운로드
API 코드 예시
Usage Guidelines
API 클라이언트 API
고급 기능
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
콘솔 가이드
애플리케이션 관리
사용량 통계
모니터링 대시보드
개발 보조
Solution
Real-Time Chorus
FAQs
과금 개요
기능 관련
UserSig 관련
방화벽 제한 처리
설치 패키지 용량 축소 관련 질문
Andriod 및 iOS 관련
Web 관련
Flutter 관련
Electron 관련
TRTCCalling Web 관련
멀티미디어 품질 관련
기타 질문
Protocols and Policies
컴플라이언스 인증
보안 백서
정보 보안에 관한 참고 사항
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
용어집

Web

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-07-24 15:00:17
TRTC는 사용자가 방에 들어가거나 통화에 참여하기 전에 사용자의 네트워크 품질을 확인할 수 있습니다. 네트워크 품질이 만족스럽지 않은 경우 원활한 통화를 위해 더 나은 네트워크 환경으로 이동하도록 안내하는 것이 좋습니다.
본문에서는 NETWORK_QUALITY 이벤트를 기반으로 호출 전 네트워크 품질을 확인하는 방법을 설명합니다. 통화 중 네트워크 품질을 감지하려면NETWORK_QUALITY 이벤트를 수신하면 됩니다.

구현 프로세스

1. TRTC.createClient를 호출하여 uplinkClient 및 downlinkClient의 두 Client를 생성합니다.
2. 두 명의 Client가 같은 방에 들어가도록 합니다.
3. uplinkClient를 사용하여 스트림을 푸시합니다. NETWORK_QUALITY 이벤트를 듣고 업스트림 네트워크 품질을 확인하십시오.
4. downlinkClient를 사용하여 스트림을 가져옵니다. NETWORK_QUALITY 이벤트를 듣고 다운스트림 네트워크 품질을 확인하십시오.
5. 전체 프로세스는 약 15s가 소요되며 평균 네트워크 품질은 결국 업스트림 및 다운스트림 네트워크 품질을 평가하는 데 사용됩니다.
주의사항:
네트워크 품질을 확인하는 과정에는 소정의 기본 서비스 요금이 발생합니다. 푸시 해상도가 지정되지 않은 경우 스트림은 기본적으로 640*480 해상도로 푸시됩니다.

코드 예시

let uplinkClient = null; // 업스트림 네트워크 품질 점검
let downlinkClient = null; // 다운스트림 네트워크 품질 점검
let localStream = null; // 테스트용 스트림
let testResult = {
// 업스트림 네트워크 품질 데이터 기록
uplinkNetworkQualities: [],
// 다운스트림 네트워크 품질 데이터 기록
downlinkNetworkQualities: [],
average: {
uplinkNetworkQuality: 0,
downlinkNetworkQuality: 0
}
}

// 1. 업스트림 네트워크 품질 점검
async function testUplinkNetworkQuality() {
uplinkClient = TRTC.createClient({
sdkAppId: 0, // sdkAppId 입력
userId: 'user_uplink_test',
userSig: '', // uplink_test의 userSig
mode: 'rtc'
});

localStream = TRTC.createStream({ audio: true, video: true });
// 실제 비즈니스 시나리오를 기반으로 video profile 설정
localStream.setVideoProfile('480p');
await localStream.initialize();

uplinkClient.on('network-quality', event => {
const { uplinkNetworkQuality } = event;
testResult.uplinkNetworkQualities.push(uplinkNetworkQuality);
});

// 테스트를 위한 방으로 들어갑니다. 충돌을 피하기 위해 방 ID는 무작위여야 함
await uplinkClient.join({ roomId: 8080 });
await uplinkClient.publish(localStream);
}

// 2. 다운스트림 네트워크 품질 점검
async function testDownlinkNetworkQuality() {
downlinkClient = TRTC.createClient({
sdkAppId: 0, // sdkAppId 입력
userId: 'user_downlink_test',
userSig: '', // userSig
mode: 'rtc'
});

downlinkClient.on('stream-added', async event => {
await downlinkClient.subscribe(event.stream, { audio: true, video: true });
// 성공적인 구독 후 네트워크 품질 이벤트 수신 시작
downlinkClient.on('network-quality', event => {
const { downlinkNetworkQuality } = event;
testResult.downlinkNetworkQualities.push(downlinkNetworkQuality);
});
})
// 테스트를 위한 방으로 들어갑니다. 충돌을 피하기 위해 방 ID는 무작위여야 함
await downlinkClient.join({ roomId: 8080 });
}

// 3. 점검 시작
testUplinkNetworkQuality();
testDownlinkNetworkQuality();

// 4. 15s 후에 점검을 중지하고 평균 네트워크 품질 계산
setTimeout(() => {
// 평균 업스트림 네트워크 품질 계산
if (testResult.uplinkNetworkQualities.length > 0) {
testResult.average.uplinkNetworkQuality = Math.ceil(
testResult.uplinkNetworkQualities.reduce((value, current) => value + current, 0) / testResult.uplinkNetworkQualities.length
);
}

if (testResult.downlinkNetworkQualities.length > 0) {
// 평균 다운스트림 네트워크 품질 계산
testResult.average.downlinkNetworkQuality = Math.ceil(
testResult.downlinkNetworkQualities.reduce((value, current) => value + current, 0) / testResult.downlinkNetworkQualities.length
);
}

// 점검이 종료됩니다. 관련 상태를 지우십시오.
uplinkClient.leave();
downlinkClient.leave();
localStream.close();
}, 15 * 1000);

결과 분석

위의 단계를 수행한 후 평균 업스트림 및 다운스트림 네트워크 품질을 얻을 수 있습니다. 네트워크 품질의 열거 값은 다음과 같습니다.
설명
0
알 수 없는 네트워크 품질, 현재 client 인스턴스가 업스트림/다운스트림 연결을 설정하지 않았음을 나타냄
1
우수한 네트워크 품질
2
좋은 네트워크 품질
3
평균 네트워크 품질
4
열악한 네트워크 품질
5
매우 열악한 네트워크 품질
6
네트워크 연결 끊김. 참고: 다운스트림 네트워크 품질이 이 값이면 모든 다운스트림 연결이 끊겼음을 나타냄
주의사항:
네트워크 품질이 3보다 나쁠 경우 사용자에게 네트워크를 확인하고 더 나은 네트워크 환경으로 이동하라는 메시지를 표시하는 것이 좋습니다. 그렇지 않으면 정상적인 음성/영상 통화 환경이 영향을 받을 수 있습니다.
다음 방법을 사용하여 대역폭 소비를 줄일 수도 있습니다.
업스트림 네트워크 품질이 3보다 나쁠 경우 LocalStream.setVideoProfile() API를 호출하여 비트레이트를 줄이거나 또는 LocalStream.muteVideo()를 호출하여 업스트림 대역폭 소비를 줄이기 위해 비디오를 비활성화할 수 있습니다.
다운스트림 네트워크 품질이 3보다 낮은 경우 이중 스트림 활성화의 지침에 따라 낮은 품질의 스트림만 구독하거나 오디오만 구독하여 다운스트림 대역폭 소비를 줄일 수 있습니다.


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백