aiortc
란 무엇인가요? aiortc
Python의 WebRTC(웹 실시간 통신) 및 ORTC(객체 실시간 통신)용 라이브러리입니다. 이는 Python의 표준 비동기 I/O 프레임워크인 asyncio
위에 구축되었습니다.
API는 Python 구조를 사용하는 동안 Javascript 대응을 밀접하게 따릅니다.
Promise는 코루틴으로 대체됩니다.
이벤트는 pyee.EventEmitter
사용하여 방출됩니다.
aiortc
에 대해 자세히 알아보려면 설명서를 읽어보세요.
aiortc
사용해야 하나요?주요 WebRTC 및 ORTC 구현은 웹 브라우저에 내장되거나 기본 코드 형태로 제공됩니다. 광범위하게 전투 테스트를 거쳤지만 내부가 복잡하고 Python 바인딩을 제공하지 않습니다. 게다가 미디어 스택과 긴밀하게 결합되어 있어 오디오 또는 비디오 처리 알고리즘을 연결하기가 어렵습니다.
대조적으로, aiortc
구현은 상당히 간단하고 읽기 쉽습니다. 따라서 WebRTC의 작동 방식을 이해하거나 내부를 수정하려는 프로그래머에게 좋은 출발점이 됩니다. Python 생태계에서 사용할 수 있는 광범위한 모듈을 활용하여 혁신적인 제품을 만드는 것도 쉽습니다. 예를 들어 신호 및 데이터 채널을 모두 처리하는 전체 서버를 구축하거나 OpenCV를 사용하여 비디오 프레임에 컴퓨터 비전 알고리즘을 적용할 수 있습니다.
또한, 동급 최고의 코드 품질을 보장하기 위해 aiortc
코드에 대한 광범위한 테스트 스위트를 작성하는 데 많은 노력을 기울였습니다.
aiortc
사용하면 오디오, 비디오 및 데이터 채널을 교환할 수 있으며 상호 운용성은 Chrome과 Firefox 모두에 대해 정기적으로 테스트됩니다. 다음은 그 기능 중 일부입니다:
SDP 생성/파싱
하프 트리클 및 mDNS 지원을 통한 대화형 연결 구축
DTLS 키 및 인증서 생성
DTLS 핸드셰이크, 암호화/복호화(SCTP용)
RTP 및 RTCP에 대한 SRTP 키잉, 암호화 및 암호 해독
순수 Python SCTP 구현
데이터 채널
오디오 전송 및 수신(Opus / PCMU / PCMA)
영상 송수신(VP8 / H.264)
오디오/비디오/데이터 채널 번들링
패킷 손실 복구를 위한 NACK/PLI를 포함한 RTCP 보고
aiortc
설치하는 가장 쉬운 방법은 다음을 실행하는 것입니다.
pip 설치 aiortc
시스템에 바퀴가 없거나 소스에서 aiortc를 빌드하려는 경우 시스템에 두 개의 라이브러리를 설치해야 합니다.
오디오 인코딩/디코딩을 위한 Opus
비디오 인코딩/디코딩을 위한 LibVPX
Debian/Ubuntu에서는 다음을 실행합니다.
적절한 설치 libopus-dev libvpx-dev
OS X에서는 다음을 실행합니다.
양조 설치 Opus libvpx
aiortc
BSD 라이선스로 배포됩니다.