인터페이스 목록

지원 플랫폼

TRTC Web SDK는 WebRTC를 기반으로 구현되었으며 현재 데스크톱 및 모바일에서 주요 브라우저를 지원합니다. 자세한 내용은 아래 테이블을 참고하십시오. 귀하의 시나리오가 지원되는 테이블에 없는 경우 TRTC Web SDK 기능 테스트 페이지에서 현재 환경이 WebView 환경 등 WebRTC의 모든 기능을 지원하는지 확인할 수 있습니다.
운영 체제
브라우저 유형
브라우저 최저버전 요구사항
SDK 버전 요구사항
수신(재생)
발송(마이크)
화면 공유
Windows
Chrome 브라우저(데스크톱)
56+
-
지원
지원
Chrome72+ 버전 지원
QQ 브라우저(데스크톱, WebKit 코어)
10.4+
-
지원
지원
미지원
Firefox 브라우저(데스크톱)
56+
v4.7.0+
지원
지원
Firefox66+ 버전 지원
Edge 브라우저(데스크톱)
80+
v4.7.0+
지원
지원
지원
Sogou 브라우저(데스크톱, 고속 모드)
11+
v4.7.0+
지원
지원
지원
Sogou 브라우저(데스크톱, 호환 모드)
-
-
미지원
미지원
미지원
Opera 브라우저(데스크톱)
46+
v4.7.0+
지원
지원
Opera60+ 버전 지원
360 Total Security 브라우저(데스크톱, 고속 모드)
13+
v4.7.0+
지원
지원
지원
360 Total Security 브라우저(호환 모드)
-
-
미지원
미지원
미지원
WeChat 내장 브라우저(데스크톱)
-
-
지원
미지원
미지원
WeChat 내장 브라우저(데스크톱)
-
-
지원
미지원
미지원
Mac OS
Safari 브라우저(데스크톱)
11+
-
지원
지원
Safari13+ 버전 지원
Chrome 브라우저(데스크톱)
56+
-
지원
지원
Chrome72+ 버전 지원
Firefox 브라우저(데스크톱)
56+
v4.7.0+
지원
지원
Firefox66+ 버전 지원(주의[3])
Edge 브라우저(데스크톱)
80+
v4.7.0+
지원
지원
지원
Opera 브라우저(데스크톱)
46+
v4.7.0+
지원
지원
Opera60+ 버전 지원
WeChat 내장 브라우저(데스크톱)
-
-
지원
미지원
미지원
WeChat 내장 브라우저(데스크톱)
-
-
지원
미지원
미지원
Android
WeChat 내장 브라우저(TBS 코어)
-
-
지원
지원
미지원
WeChat 내장 브라우저(XWEB 코어)
-
-
지원
지원
미지원
WeCom 내장 브라우저
-
-
지원
지원
미지원
Chrome 브라우저(모바일)
-
-
지원
지원
미지원
QQ 브라우저(모바일)
-
-
미지원
미지원
미지원
UC 브라우저(모바일)
-
-
미지원
미지원
미지원
iOS 12.1.4+
WeChat 내장 브라우저
-
-
지원
미지원
미지원
iOS 14.3+
WeChat 내장 브라우저
6.5+ (WeChat 버전)
-
지원
지원
미지원
iOS
WeCom 내장 브라우저
-
-
지원
미지원
미지원
iOS 11.1.2+
모바일 Safari 브라우저
11+
-
지원
지원
미지원
iOS 12.1.4+
Chrome 브라우저(모바일)
-
-
지원
미지원
미지원
iOS 14.3+
Chrome 브라우저(모바일)
-
-
지원
지원
미지원
주의사항:
H.264 버전 권한 제한으로 인해, Huawei Chrome 88 이하 버전은 H264 코덱을 사용할 수 없습니다(즉, 스트림 푸시 불가). Huawei 기기의 Chrome 브라우저에서 TRTC Web SDK를 사용하여 스트림을 푸시하려면 티켓 제출을 통해 VP8 코덱 활성화를 신청하십시오.
Mac OS에서 Firefox의 화면 공유 효과가 상대적으로 낮고 아직 해결책이 없는 상황이므로 Chrome 또는 Safari를 통한 화면 공유를 권장합니다.
Web 스트리밍 시 듀얼 사운드 채널 인코딩 지원을 원하시면 티켓 제출을 통해 WebRTC 듀얼 사운드 채널 인코딩을 신청하십시오.
더 나은 제품 안정성과 온라인 지원을 위해 TRTC Web SDK를 최신 버전으로 업데이트할 것을 권장합니다. 버전 업데이트에 대한 주의 사항은 업데이트 가이드를 참고하십시오.

URL 도메인 프로토콜 제한

브라우저 보안 정책의 제한으로 인해 WebRTC 기능을 사용하려면 페이지의 액세스 프로토콜에 대한 엄격한 요구 사항이 있으므로 다음 테이블을 참고하여 애플리케이션을 개발하고 배포하십시오.
응용 시나리오
프로토콜
수신(재생)
발송(마이크 켜짐)
화면 공유
비고
프로덕션 환경
HTTPS 프로토콜
지원
지원
지원
권장
프로덕션 환경
HTTP 프로토콜
지원
미지원
미지원

로컬 개발 환경
지원
지원
지원
권장
로컬 개발 환경
지원
지원
지원

로컬 개발 환경
http://[로컬 IP]
지원
미지원
미지원

로컬 개발 환경
file:///
지원
지원
지원


API 사용 가이드

더 자세한 초기화 절차 및 API 사용 소개는 다음 튜토리얼을 참고하십시오.
기능
Sample Code 튜토리얼
기본 음성/영상 통화
인터랙티브 라이브 스트리밍 마이크 연결 구현
카메라/마이크 전환
로컬 비디오 속성 설정
로컬 오디오/비디오 동적 활성화/비활성화
화면 공유
볼륨 감지
사용자 정의 수집 및 사용자 정의 재생 렌더링
방의 업스트림 사용 인원 제한
배경 음악/음향 효과 구현
통화 전 환경 및 디바이스 점검
통화 전 네트워크 품질 점검
장치 연결/해제 동작 감지
CDN에 푸시 스트림 구현
-
듀얼 스트림 활성화
뷰티 필터 활성화
워터마크 활성화
크로스 룸 연결 구현
클라우드 혼합 스트림 구현
클라우드 녹화 구현
설명:
클릭하여 더 많은 기능을 확인하십시오.
FAQ는 Web 관련을 참고하십시오.

API 소개

TRTC

주의사항:
본문은 4.x.x 버전의 TRTC Web SDK에 적용됩니다.
TRTC는 TRTC Web SDK의 메인 엔트리입니다. TRTC 메소드를 통해 실시간 멀티미디어 통신을 위한 클라이언트 객체(Client) 및 로컬 오디오/비디오 스트림 객체(Stream)를 생성하고, 브라우저 호환성 및 화면 공유 지원 여부를 확인하고, 로그 레벨과 로그 업로드를 설정할 수 있습니다.
API
설명
TRTC Web SDK 버전 넘버.
브라우저의 TRTC Web SDK 호환 여부 확인. 호환되지 않는 경우 사용자에게 최신 버전의 Chrome 브라우저 다운로드를 권고하시기 바랍니다.
브라우저의 화면 공유 지원 여부 확인. 화면 공유 스트림을 생성하기 전에 이 메소드를 호출해 현재 브라우저의 화면 공유 지원 여부를 확인하십시오.
브라우저가 듀얼 스트림 모드 지원 여부 확인. 듀얼 스트림 모드를 활성화하기 전에 이 API를 호출하십시오.
미디어 입/출력 장치 목록 반환.
카메라 장치 목록 반환.
마이크 장치 목록 반환.
스피커 장치 목록 반환.
실시간 음성/영상 통화를 위한 클라이언트 객체를 생성하여 방 출입, 오디오 및 비디오 스트림 배포 및 구독과 같은 기능 구현.
로컬 스트림 Stream 객체 생성. 로컬 스트림 Stream 객체는 publish() 메소드를 사용하여 로컬 오디오/비디오 스트림을 게시합니다.

TRTC.Logger

로그 출력 레벨, 로그 업로드 활성화/비활성화 등 로그 설정 메소드를 제공합니다.
API
설명
로그 출력 레벨 설정.
로그 업로드 활성화.
로그 업로드 비활성화.

Client

음성/영상 통화 클라이언트 객체 Client는 createClient()를 통해 생성되며, 음성/영상 통화를 나타냅니다.
API
설명
프록시 서버 설정. 이 메소드는 기업이 nginx+coturn 같은 프록시 서버를 직접 배포하는 경우에 적합합니다.
TURN 서버 설정. 이 메소드는 setProxyServer()와 함께 사용되며, 기업이 프록시 및 TURN 서버를 직접 배포하는 경우에 적합합니다.
음성/영상 통화를 시작하는 방에 입장. 방이 없으면 시스템에서 방을 자동 생성합니다.
음성/영상 통화 방 퇴장 및 음성/영상 통화 종료.
로컬 오디오/비디오 스트림 게시. 이 메소드는 join() 메소드를 사용하여 방에 입장한 후에만 호출할 수 있으며, 하나의 음성/영상 통화는 하나의 로컬 스트림만 게시할 수 있습니다.
로컬 스트림 게시 취소.
원격 스트림 구독.
원격 스트림 구독 취소.
사용자 역할 전환. 이 메소드는 ‘live’ 인터랙티브 라이브 스트리밍 모드에서만 작동합니다.
SEI 메세지 발송.
클라이언트 객체 이벤트 수신.
클라이언트 객체 이벤트 수신 취소.
방에 있는 원격 사용자의 오디오/비디오 mute 상태 목록 가져오기.
현재 네트워크 전송 상태 통계 데이터 테이블 가져오기.
게시된 로컬 스트림의 오디오 통계 데이터 가져오기. 이 메소드는 publish() 호출 후에만 사용 가능합니다.
게시된 로컬 스트림의 비디오 통계 데이터 가져오기. 이 메소드는 publish() 호출 후에만 사용 가능합니다.
모든 원격 스트림의 오디오 통계 데이터 가져오기.
모든 원격 스트림의 비디오 통계 데이터 가져오기.
현재 클라이언트의 오디오 및 비디오 스트림 CDN에 배포 시작.
현재 클라이언트의 오디오 및 비디오 스트림 CDN에 배포 중지.
믹스 트랜스코딩 시작. 방 입장 및 스트림 푸시 후 이 인터페이스를 호출하십시오.
믹스 트랜스코딩 중지. 로컬 스트림을 성공적으로 게시(publish)하고 믹스 트랜스코딩 startMixTranscode를 시작한 후 이 인터페이스를 호출하십시오.
볼륨 크기 콜백 ​​활성화 또는 비활성화.
푸시 스트림측 듀얼 스트림 모드 활성화.
푸시 스트림측 듀얼 스트림 모드 비활성화.
작은 스트림 매개변수 설정.
시청측의 스트림 크기 속성 전환. 원격으로 작은 스트림을 활성화한 후에만 전환할 수 있습니다.

LocalStream

LocalStream 로컬 오디오/비디오 스트림은 createStream을 통해 생성되며, Stream의 하위 클래스입니다.
API
설명
로컬 오디오/비디오 스트림 객체 초기화.
오디오 Profile 설정. 이 메소드는 initialize()가 호출되기 이전에만 사용할 수 있습니다.
비디오 Profile 설정. 이 메소드는 initialize()가 호출되기 이전에만 사용할 수 있습니다.
화면 공유 Profile 설정. 이 메소드는 initialize()가 호출되기 이전에만 사용할 수 있습니다.
비디오 콘텐츠 힌트 설정. 주로 다양한 시나리오에서 비디오 인코딩 품질을 개선하기 위해 사용됩니다. 이 메소드는 initialize()가 호출된 이후에만 사용할 수 있습니다.
미디어 입력 장치 전환.
오디오/비디오 트랙 추가.
비디오 트랙 제거.
오디오/비디오 트랙 교체.
오디오/비디오 스트림 재생.
오디오/비디오 스트림 재생 중지.
오디오/비디오 재생 재개.
오디오/비디오 스트림 비활성화.
오디오 트랙 비활성화.
비디오 트랙 비활성화.
오디오 트랙 활성화.
비디오 트랙 활성화.
Stream 의 고유 ID 가져오기.
스트림이 소속된 사용자 ID 가져오기.
오디오 출력 장치 설정.
현재 볼륨 가져오기. 이 메소드는 로컬 스트림 또는 원격 스트림에 오디오 데이터가 있는 경우에만 작동합니다.
마이크 수집 볼륨 설정.
오디오 트랙 포함 여부.
비디오 트랙 포함 여부.
오디오 트랙 가져오기.
비디오 트랙 가져오기.
현재 비디오 프레임 가져오기.
Stream 이벤트 수신.
Stream 이벤트 수신 취소.

RemoteStream

Client.on('stream-added') 수신을 통해 얻은 원격 오디오/비디오 스트림은 Stream의 하위 클래스입니다.
API
설명
원격 스트림 유형 가져오기. 주로 원격 스트림이 메인 오디오/비디오 스트림인지 또는 보조 비디오 스트림(일반적으로 화면 공유 스트림)인지 판단하는데 사용됩니다.
오디오/비디오 스트림 재생.
오디오/비디오 스트림 재생 중지.
오디오/비디오 스트림 재개.
오디오/비디오 스트림 비활성화.
오디오 트랙 비활성화.
비디오 트랙 비활성화.
오디오 트랙 활성화.
비디오 트랙 활성화.
Stream 의 고유 ID 가져오기.
스트림이 소속된 사용자 ID 가져오기.
오디오 출력 장치 설정.
재생 볼륨 설정.
현재 볼륨 가져오기. 이 메소드는 로컬 스트림 또는 원격 스트림에 오디오 데이터가 있는 경우에만 작동합니다.
오디오 트랙 포함 여부.
비디오 트랙 포함 여부.
오디오 트랙 가져오기.
비디오 트랙 가져오기.
현재 비디오 프레임 가져오기.
Stream 이벤트 수신.
Stream 이벤트 수신 취소.

RtcError

RtcError 객체.
API
설명
오류 코드 가져오기.

ClientEvent

Client에 의해 트리거될 이벤트 목록, 즉 'client.on('eventName')' 이벤트 수신의 이벤트 이름 'eventName'입니다.
API
설명
원격 스트림 추가 이벤트는 원격 사용자가 스트림을 배포할 때 공지를 받습니다.
원격 스트림 제거 이벤트. 원격 사용자가 스트림 게시를 취소하면 공지를 받습니다.
원격 스트림 업데이트 이벤트. 원격 사용자가 오디오 및 비디오 트랙을 추가, 제거 또는 교체할 때 공지를 받습니다.
subscribe()가 성공적으로 호출될 때 트리거되는 원격 스트림 구독 성공 이벤트.
로컬 client와 Tencent Cloud 간의 연결 상태 변경 이벤트.
원격 사용자 방 입장 이벤트.
원격 사용자 퇴장 이벤트 알림.
원격 스트림의 오디오 비활성화 이벤트. 원격 사용자가 오디오를 비활성화할 때 트리거됩니다.
원격 스트림의 비디오 비활성화 이벤트. 원격 사용자가 비디오를 비활성화할 때 트리거됩니다.
원격 스트림의 오디오 활성화 이벤트. 원격 사용자가 오디오를 활성화할 때 트리거됩니다.
원격 스트림의 비디오 활성화 이벤트. 원격 사용자가 비디오를 활성화할 때 트리거됩니다.
사용자 강제 퇴장 이벤트. 강제 퇴장 이유:
같은 이름의 사용자가 같은 방에 입장하는 경우. 참고: 같은 이름의 사용자가 같은 방에 동시에 입장하는 것은 금지되며, 이는 두 사람 사이에 비정상적인 음성 및 영상 통화가 발생할 수 있으므로 서비스측에서 이러한 상황을 방지해야 합니다.
서버 API를 사용하는 계정 관리자에 의해 퇴장 당하는 경우.
네트워크 품질 통계 데이터 이벤트. 방에 입장한 후 시작되며 업스트림 및 다운스트림 네트워크 품질 데이터를 포함하여 2초마다 트리거됩니다.
볼륨 크기 이벤트.
볼륨 크기 콜백을 ​​활성화하기 위해 enableAudioVolumeEvaluation 인터페이스를 호출한 후 SDK는 주기적으로 이 이벤트를 발생시켜 각 userId의 볼륨 크기를 공지합니다.
sei 메세지 수신.
복구할 수 없는 오류가 발생할 때 발생되는 오류 이벤트. 오류 코드를 참고하십시오.

StreamEvent

Stream에 의해 트리거된 이벤트 목록입니다.
API
설명
Audio/Video Player 상태 변경 이벤트.
로컬 화면 공유 중지 이벤트. 로컬 화면 공유 스트림에만 유효합니다.
Stream 연결 상태 변경 이벤트. 'stream-added' 이벤트 콜백에서 이 이벤트를 수신하고, 'stream-removed' 이벤트 콜백에서 수신하는 이벤트를 취소합니다.
복구할 수 없는 오류가 발생할 때 발생되는 오류 이벤트. 오류 코드를 참고하십시오.

문의하기

문의사항은 colleenyu@tencent.com으로 이메일을 보내주십시오.