5단계: 스트리밍 소프트웨어 설정
다음을 사용하여 Amazon IVS로 스트리밍(지연 시간이 짧음)할 수 있습니다.
-
RTMPS를 지원하는 기본 IVS Broadcast SDK. 특히 프로덕션 시나리오의 경우 이 방법을 사용하는 것이 좋습니다.
-
Amazon IVS 콘솔. 스트리밍을 테스트하는 데 적합합니다.
-
기타 스트리밍 소프트웨어 및 하드웨어 인코더 - RTMP, RTMPS 또는 SRT 프로토콜을 지원하는 모든 스트리밍 인코더를 사용할 수 있습니다. 다음은 RTMPS 및 SRT와 함께 Open Broadcast Software(OBS) 및 FFmpeg를 사용하는 몇 가지 예입니다. RTMPS는 암호화된 TLS 스트림을 사용하여 높은 보안을 구현합니다.
키 인코더 설정은 키프레임 간격(2초)과 해상도/비트 전송률/프레임 속도(상호 연관됨)입니다. 인코더 설정에 대한 자세한 내용은 다음을 참조하세요.
-
Amazon IVS 사용 설명서의 스트리밍 구성
참고:
-
Amazon IVS 스트림의 최대 지속 시간은 48시간입니다. 이후 스트림이 종료되고 스트리밍 세션 연결이 끊어집니다. 자동 또는 수동으로 다시 연결에 성공하면 새 스트림이 시작됩니다.
-
예를 들면 일시적인 네트워크 문제로 인해 인코더가 데이터 전송을 중지하면 Amazon IVS는 30초 동안 기다립니다. 이 시간 동안 브로드캐스터 데이터가 수신되지 않으면 Amazon IVS의 연결이 해제됩니다.
Amazon IVS Broadcast SDK를 사용한 스트리밍
iOS 또는 Android 애플리케이션에서 브로드캐스트하려면 Amazon IVS Broadcast SDK를 사용할 수 있습니다. Broadcast SDK는 Amazon IVS 아키텍처를 활용하며 Amazon IVS와 함께 지속적으로 개선되고 새로운 기능이 추가됩니다. 네이티브 모바일 Broadcast SDK로서 애플리케이션과 사용자가 애플리케이션에 액세스하는 디바이스의 성능에 미치는 영향을 최소화하도록 설계되었습니다.
다음 위치에서 방송하려면: | 다음을 사용할 수 있음: | 참고 |
---|---|---|
Android 또는 iOS 애플리케이션 | Amazon IVS Android 또는 iOS Broadcast SDK | 네이티브 모바일 Broadcast SDK로서 애플리케이션과 사용자가 애플리케이션에 액세스하는 디바이스의 성능에 미치는 영향을 최소화하도록 설계되었습니다. |
웹 환경 | Amazon IVS Web Broadcast SDK | Web Broadcast SDK인 Amazon IVS Web Broadcast SDK는 WebRTC를 사용하여 웹 환경에서 브로드캐스트할 수 있게 해 줍니다. 교차 브라우저 및 교차 플랫폼 지원 기능을 제공합니다. |
세부 정보는 IVS Broadcast SDK | 저지연 스트리밍을 참조하세요.
Amazon IVS 콘솔을 사용한 스트리밍
-
Amazon IVS 콘솔
을 엽니다. (AWS Management Console
을 통해 Amazon IVS 콘솔에 액세스할 수도 있습니다.) -
탐색 창에서 채널을 선택합니다. (탐색 창이 축소되어 있는 경우 햄버거 아이콘을 선택하여 펼치세요.)
-
브로드캐스트하려는 채널을 선택하여 해당 세부 정보 페이지로 이동합니다.
-
브로드캐스트 탭을 선택합니다. (탭은 일반 구성 섹션 아래에 있습니다.)
-
IVS 콘솔에 카메라 및 마이크에 대한 액세스 권한을 부여하라는 메시지가 표시됩니다. 해당 권한을 허용합니다.
-
브로드캐스트 탭 하단의 드롭다운 상자를 사용하여 마이크 및 카메라용 입력 디바이스를 선택합니다.
-
스트리밍을 시작하려면 브로드캐스트 시작을 선택합니다.
-
실시간 스트리밍을 보려면 재생 탭으로 이동합니다.
참고: 스트리밍을 시작한 후 재생 탭에서 볼 수 있을 때까지 짧은 지연(보통 30초 미만)이 발생할 수 있습니다.
이 기능을 사용하여 여러 채널에 동시에 브로드캐스트할 수 있습니다.
참고: 콘솔에서 스트리밍하는 데는 리소스를 사용하며 라이브 비디오 입력 비용이 발생합니다. 자세한 내용은 IVS 요금 페이지에서 라이브 비디오 입력 비용
RTMPS를 사용하여 OBS Studio로 스트리밍
(OBS Studio
다음 단계에 따라 OBS Studio v30.2 이상을 빠르게 가동 및 실행합니다.
-
소프트웨어를 다운로드하여 설치합니다. https://obsproject.com/download
. -
OBS Studio 자동 구성 마법사(Auto-Configuration Wizard)를 실행합니다. 이 마법사는 OBS Studio를 처음 로드할 때 표시됩니다. 단계를 수행하고 기본값을 승인합니다.
-
스트림 정보의 서비스 드롭다운에서 Amazon IVS를 선택하고 스트림 키를 입력합니다.
Amazon IVS 콘솔로 채널을 생성한 경우 OBS에 입력한 스트림 키는 콘솔의 스트림 키입니다(
sk_us-west-2_abcd1234efgh5678ijkl
).AWS CLI로 채널을 생성한 경우 OBS에 입력한 스트림 키는 CLI 응답
sk_us-west-2_abcd1234efgh5678ijkl
의 streamKey 값입니다.IVS 채널이 멀티트랙 비디오 입력에 대해 구성된 경우 멀티트랙 비디오 활성화를 선택합니다. 필요에 따라 자동으로 구성된 스트림 설정을 제한하는 데 사용되는 최대 비디오 트랙 및 최대 스트리밍 대역폭 설정을 구성합니다.
-
비디오 출력 해상도(Video Output Resolution)와 비트레이트(Bitrate)는 Amazon IVS 스트리밍 구성의 채널 유형을 참조하세요. OBS 마법사에서 선택한 값 중 하나가 Amazon IVS에서 허용하는 값을 초과하는 경우 Amazon IVS 연결이 실패하지 않도록 수동으로 값을 조정해야 합니다. 마법사가 완료된 후 다음을 수행합니다.
-
비디오 해상도를 조정하려면 설정(Settings) > 비디오(Video) > 출력(조정) 해상도(Output (Scaled) Resolution)를 사용합니다.
-
비디오 비트레이트를 조정하려면 설정(Settings) > 출력(Output) > 스트리밍(Streaming) > 비디오 비트레이트(Video Bitrate)를 사용합니다.
참고: 이전에 멀티트랙 비디오 활성화를 선택한 경우 라이브 스트림에는 영향을 주지 않습니다.
-
-
스트림 안정성 개선과 뷰어 재생에서 버퍼링 방지를 위해 2초 키프레임 간격(Keyframe Interval)이 권장됩니다. 마법사가 완료되면 설정 > 출력 > 출력 모드로 이동하여 고급을 선택하고 스트리밍 탭에서 키프레임 간격이 2인지 확인합니다.
참고: 이전에 멀티트랙 비디오 활성화를 선택한 경우 키프레임 간격이 자동으로 구성됩니다.
-
OBS Studio 기본 창에서 [스트리밍 시작]을 선택합니다.
OBS Studio를 사용한 스트리밍에 대한 자세한 내용은 OBS Studio
나중에 OBS 설정을 수동으로 수정할 수 있습니다.
-
설정 > 스트림을 선택합니다.
-
드롭다운에서 Amazon IVS를 선택합니다.
-
스트림 키에 붙여넣습니다.
언제든지 마법사를 다시 실행할 수 있습니다. [도구(Tools) > 자동 구성 마법사(Auto-Configuration Wizard)]를 선택합니다.
선택적으로 [설정(Settings) > 일반(General)]에서 로컬 레코딩을 활성화하여 나중에 사용할 수 있도록 라이브 스트림을 저장합니다. 앞서 언급한 대로, 브로드캐스트와 AWS 간 또는 AWS 클라우드 내에서 네트워크 문제로 인해 스트림을 레코딩하는 동안 일부 데이터가 유실될 수 있습니다. 이러한 경우 Amazon IVS는 레코딩보다 라이브 스트림의 우선순위를 높게 지정합니다. 중복성을 위해 스트리밍 도구로 중복성을 제공합니다.
OBS Studio 업데이트를 정기적으로 확인하고 최신 버전으로 업데이트하는 것이 좋습니다. (예를 들어 '서버에 연결하지 못함' 오류가 발생하는 경우 RTMPS를 지원하지 않는 OBS Studio의 이전 버전을 사용하고 있을 수 있습니다.)
SRT를 사용하여 OBS Studio로 스트리밍
다음 단계에 따라 Secure Reliable Transport 프로토콜을 빠르게 시작하고 실행하세요.
-
소프트웨어를 다운로드하여 설치합니다. https://obsproject.com/download
. -
OBS Studio 자동 구성 마법사(Auto-Configuration Wizard)를 실행합니다. 이 마법사는 OBS Studio를 처음 로드할 때 표시됩니다. 단계를 수행하고 기본값을 승인합니다.
-
스트림 정보(Stream Information)의 서비스(Service) 드롭다운에서 사용자 지정...(Custom...)을 선택하고 서버(수집 서버)(Server (Ingest server))와 스트림 키(Stream Key)를 입력합니다.
AWS CLI를 사용하여 채널을 생성한 경우:
-
OBS에 입력하는 서버는 다음 5개의 조합입니다.
-
수집 프로토콜:
srt://
-
CLI 응답에서
srt
구조의 엔드포인트:a1b2c3d4e5f6.srt.live-video.net
-
포트:
9000
-
CLI 응답의 streamKey 값인 streamid:
sk_us-west-2_abcd1234efgh5678ijkl
-
콘텐츠를 암호화하는 데 사용되는 암호입니다. 안전하지 않은 수집이 활성화되지 않은 경우에만 이 옵션을 사용합니다.
ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
전체 항목은 다음과 같습니다.
srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
-
-
OBS에 입력한 스트림 키는 SRT 프로토콜에 대해 빈 상태로 유지됩니다.
-
-
비디오 출력 해상도(Video Output Resolution)와 비트레이트(Bitrate)는 Amazon IVS 스트리밍 구성의 채널 유형을 참조하세요. OBS 마법사에서 선택한 값 중 하나가 Amazon IVS에서 허용하는 값을 초과하는 경우 Amazon IVS 연결이 실패하지 않도록 수동으로 값을 조정해야 합니다. 마법사가 완료된 후 다음을 수행합니다.
-
비디오 해상도를 조정하려면 설정(Settings) > 비디오(Video) > 출력(조정) 해상도(Output (Scaled) Resolution)를 사용합니다.
-
비디오 비트레이트를 조정하려면 설정(Settings) > 출력(Output) > 스트리밍(Streaming) > 비디오 비트레이트(Video Bitrate)를 사용합니다.
-
-
스트림 안정성 개선과 뷰어 재생에서 버퍼링 방지를 위해 2초 키프레임 간격(Keyframe Interval)이 권장됩니다. 마법사가 완료되면 설정 > 출력 > 출력 모드로 이동하여 고급을 선택하고 스트리밍 탭에서 키프레임 간격이 2인지 확인합니다.
-
OBS Studio 기본 창에서 [스트리밍 시작]을 선택합니다.
나중에 OBS 설정을 수동으로 수정할 수 있습니다.
-
설정 > 스트림을 선택합니다.
-
드롭다운에서 사용자 지정을 선택합니다.
-
[서버(Server)] 및 또는 [스트림 키(Stream Key)]를 붙여넣습니다.
언제든지 마법사를 다시 실행할 수 있습니다. [도구(Tools) > 자동 구성 마법사(Auto-Configuration Wizard)]를 선택합니다.
선택적으로 [설정(Settings) > 일반(General)]에서 로컬 레코딩을 활성화하여 나중에 사용할 수 있도록 라이브 스트림을 저장합니다. 앞서 언급한 대로, 브로드캐스트와 AWS 간 또는 AWS 클라우드 내에서 네트워크 문제로 인해 스트림을 레코딩하는 동안 일부 데이터가 유실될 수 있습니다. 이러한 경우 Amazon IVS는 레코딩보다 라이브 스트림의 우선순위를 높게 지정합니다. 중복성을 위해 스트리밍 도구로 중복성을 제공합니다.
OBS Studio 업데이트를 정기적으로 확인하고 최신 버전으로 업데이트하는 것이 좋습니다. (예를 들어 '서버에 연결하지 못함' 오류가 발생하는 경우 RTMPS를 지원하지 않는 OBS Studio의 이전 버전을 사용하고 있을 수 있습니다.)
RTMPS를 사용하여 FFmpeg에서 레코딩된 비디오 스트리밍
다음 단계를 따릅니다.
-
FFmpeg를 다운로드하여 설치합니다. https://www.ffmpeg.org/download.html
. -
$VIDEO_FILEPATH
를 스트리밍할 MP4 비디오의 위치로 설정합니다.VIDEO_FILEPATH=/home/test/my_video.mp4
-
STREAM_KEY
를 StreamKey 값으로 설정합니다.STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
INGEST_ENDPOINT
를 ingestEndpoint로 설정합니다(AWS CLI에서).INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
-
다음 터미널 명령을 사용하여 스트리밍을 시작합니다(모두 한 줄임).
ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY
위의 명령은 예제입니다. 프로덕션 스트리밍의 경우, 필요에 따라 파라미터를 조정하세요.
SRT를 사용하여 FFmpeg에서 레코딩된 비디오 스트리밍
-
FFmpeg를 다운로드하여 설치합니다. https://www.ffmpeg.org/download.html
. 이전/컴파일된 버전의 FFmpeg를 사용하는 경우 --enable-libsrt
플래그를 사용하여 새 버전을 빌드합니다. -
FFmpeg에서 SRT를 사용할 수 있는지 확인합니다. 다음 명령을 실행하고
libsrt
가 출력에 있는지 확인합니다.libsrt
가 없으면 SRT를 지원하는 FFmpeg의 새 버전을 다시 빌드하거나 가져옵니다.ffmpeg -version | grep enable-libsrt
-
$VIDEO_FILEPATH
를 스트리밍할 MP4 비디오의 위치로 설정합니다.VIDEO_FILEPATH=/home/test/my_video.mp4
-
STREAM_KEY
를 StreamKey 값으로 설정합니다.STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
INGEST_ENDPOINT
를 엔드포인트로 설정(srt
객체 아래의 AWS CLI에서)합니다.INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
-
PASSPHRASE
를 암호로 설정(srt
객체 아래의 AWS CLI에서)합니다. 채널에 대해 안전하지 않은 수집이 활성화되지 않은 경우에만 암호를 사용합니다.PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
-
다음 터미널 명령을 사용하여 스트리밍을 시작합니다(모두 한 줄임).
ffmpeg -re -i $VIDEO_FILEPATH -c copy -f mpegts "srt://$INGEST_ENDPOINT:9000?streamid=$STREAM_KEY&passphrase=$PASSPHRASE”