일반
Q: Amazon Kinesis Video Streams란 무엇입니까?
Amazon Kinesis Video Streams를 사용하면 저장, 분석, ML(기계 학습), 재생 및 기타 처리를 위해 커넥티드 디바이스에서 AWS로 미디어를 쉽고 안전하게 스트리밍할 수 있습니다. Kinesis Video Streams는 수백만 대의 디바이스에서 스트리밍 미디어 데이터를 수집하는 데 필요한 모든 인프라를 자동으로 프로비저닝하고 탄력적으로 조정합니다. 스트림의 미디어를 안정적으로 저장, 암호화 및 인덱싱하며, 사용자가 간편한 API를 통해 미디어에 액세스할 수 있도록 지원합니다. Kinesis Video Streams를 사용하면 Apache MxNet, TensorFlow 및 OpenCV와 같은 ML 프레임워크의 라이브러리, Amazon Rekognition Video 및 Amazon SageMaker와의 통합을 통해 컴퓨터 비전 및 ML 애플리케이션을 빠르게 구축할 수 있습니다. 라이브 및 온디맨드 재생을 위해 Kinesis Video Streams는 HLS(HTTP Live Streaming) 및 DASH(Dynamic Adaptive Streaming over HTTP)의 완전 관리형 기능을 제공합니다. Kinesis Video Streams는 완전관리형 기능으로서 WebRTC를 통해 매우 짧은 지연 시간으로 양방향 미디어 스트리밍을 지원합니다.
Q: 시간 인코딩된 데이터는 무엇입니까?
시간이 인코딩된 데이터란 시계열 레코드로서, 각 레코드가 이전 레코드 및 다음 레코드와 관련이 있는 모든 데이터를 말합니다. 비디오는 시간이 인코딩된 데이터의 예로서, 각 프레임이 공간 변환을 통해 이전 프레임 및 다음 프레임과 관련이 있습니다. 시간이 인코딩된 데이터의 다른 예로는 오디오, 레이더 및 광선 레이더 신호를 들 수 있습니다. Amazon Kinesis Video Streams는 분석 및 ML 사용 사례를 위해 시간이 인코딩된 모든 데이터를 저렴하고 효율적으로 수집하고 저장할 수 있도록 특별히 설계되었습니다.
Q: Kinesis Video Streams의 일반적인 사용 사례는 무엇입니까?
Kinesis Video Streams는 카메라 지원 IoT 디바이스용 미디어 스트리밍 애플리케이션 구축과 광범위한 사용 사례에서 많이 사용되고 있는 실시간 컴퓨터 비전 지원 ML 애플리케이션 구축에 이상적입니다. 그 예는 다음과 같습니다.
스마트 홈
Kinesis Video Streams를 사용하면 베이비 모니터, 웹캠 및 가정용 감시 시스템과 같이 카메라가 장착된 홈 디바이스에서 AWS로 비디오와 오디오를 손쉽게 스트리밍할 수 있습니다. 그런 다음 해당 스트림을 사용해 간단한 미디어 재생에서부터 지능형 조명, 실내 온도 조절 시스템 및 보안 솔루션에 이르기까지 다양한 스마트 홈 애플리케이션을 구축할 수 있습니다.
스마트 시티
많은 도시에서 신호등, 주차장, 쇼핑몰 등 거의 모든 공공장소에 수많은 카메라를 설치해 연중무휴 24시간 비디오를 캡처하고 있습니다. Kinesis Video Streams를 사용하면 이러한 대량의 미디어 데이터를 안전하고 비용 효율적으로 수집, 저장, 재생 및 분석하여 교통 문제를 해결하고, 범죄를 방지하고, 긴급 구조원을 파견할 수 있습니다.
산업 자동화
Kinesis Video Streams를 사용하면 레이더 및 광선 레이더 신호, 온도 프로필, 산업 장비의 깊이 데이터와 같이 시간이 인코딩된 다양한 데이터를 수집할 수 있습니다. 그런 다음, 예측 유지 보수 등 산업 자동화 사용 사례에 맞춰 Apache MxNet, TensorFlow 및 OpenCV를 비롯한 선호하는 기계 학습 프레임워크를 사용하여 데이터를 분석할 수 있습니다. 예를 들어 개스킷 또는 밸브의 수명을 예측하고 부품 교체를 미리 예약하여 제조 라인의 가동 중단과 결함을 줄일 수 있습니다.
Q: Amazon Kinesis Video Streams에서 자동으로 수행하는 관리 작업은 무엇입니까?
Amazon Kinesis Video Streams는 미디어 수집, 저장 및 처리를 위한 완전 관리형 서비스입니다. 이 서비스를 사용하면 로봇, 스마트 도시, 산업 자동화, 보안 모니터링, 기계 학습 (ML) 등을 지원하는 애플리케이션을 위해 어떤 규모에서든 비디오를 안전하게 수집, 처리 및 저장할 수 있습니다. 또한, Kinesis Video Streams는 오디오, 레이더 및 광선 레이더 신호와 같이 시간이 인코딩된 다른 유형의 데이터도 수집합니다. Kinesis Video Streams에서는 AWS로 미디어를 쉽고 안전하게 스트리밍할 수 있도록 디바이스에 설치하는 SDK를 제공합니다. Kinesis Video Streams는 수백만 대의 디바이스에서 미디어 스트림을 수집하는 데 필요한 모든 인프라를 자동으로 프로비저닝하고 탄력적으로 조정합니다. 또한, 미디어 스트림을 안정적으로 저장, 암호화 및 인덱싱하며, 애플리케이션이 태그와 타임스탬프를 기반으로 인덱싱된 미디어 조각을 검색하고 처리할 수 있도록 사용이 간편한 API를 제공합니다. Kinesis Video Streams에서는 기계 학습 애플리케이션을 구축할 수 있도록 Apache MxNet, TensorFlow 및 OpenCV와 같은 ML 프레임워크를 비디오 스트림과 통합할 수 있는 라이브러리를 제공합니다. Kinesis Video Streams는 객체, 이벤트 및 사람을 감지하는 컴퓨터 비전 애플리케이션을 빌드할 수 있도록 Amazon Rekognition Video와 통합됩니다.
주요 개념
Q: 비디오 스트림이란 무엇입니까?
비디오 스트림은 라이브 비디오 및 기타 시간이 인코딩된 데이터를 캡처하고, 선택적으로 저장하고, 실시간, 배치 혹은 애드혹 형식으로 데이터의 소비를 가능하게 할 수 있도록 해 주는 리소스입니다. 비디오 스트림에 데이터를 저장하도록 선택하면 Kinesis Video Streams가 데이터를 암호화하고 저장된 데이터에 시간 기반 인덱스를 생성합니다. 일반적인 구성에서는 Kinesis 비디오 스트림은 데이터를 푸시해 주는 생산자가 하나만 있습니다. Kinesis 비디오 스트림은 비디오 스트림의 콘텐츠를 처리하는 여러 소비 애플리케이션을 가질 수 있습니다.
Q: 조각이란 무엇입니까?
조각은 독립적인 미디어 프레임 시퀀스입니다. 조각에 속한 프레임은 다른 조각의 어떤 프레임에 대한 종속성도 없어야 합니다. 조각이 도착하면 Kinesis Video Streams가 고유 조각 번호를 증가하는 순서대로 할당합니다. 또한 각 조각에 대해 생산자 측 및 서버 측 타임스탬프를 Kinesis Video Streams별 메타데이터로 저장합니다.
Q: 생산자란 무엇입니까?
생산자는 Kinesis 비디오 스트림에 데이터를 저장하는 디바이스 또는 소스를 지칭하기 위해 사용되는 일반적인 용어입니다. 생산자는 보안 카메라, 착용식 카메라, 스마트폰 카메라, 대시보드 카메라와 같은 임의의 영상 생성 디바이스일 수 있습니다. 생산자는 오디오 피드, 이미지, RADAR 데이터와 같은 비영상 시간 인코딩 데이터를 전송할 수도 있습니다. 단일 생산자가 하나 이상의 비디오 스트림을 생성할 수 있습니다. 예를 들어, 비디오 스트림 하나가 비디오 데이터를 하나의 Kinesis 비디오 스트림에 푸시하고 오디오 데이터를 또 다른 스트림에 푸시할 수 있습니다.
Q: 소비자란 무엇입니까?
소비자는 Kinesis 비디오 스트림에서 실시간으로 혹은 짧은 지연 시간이 요구되지 않는 경우 데이터가 안정적으로 저장되고 시간이 인덱싱된 후에 데이터를 소비하고 처리하는 사용자 지정 애플리케이션입니다. 이와 같은 소비자 애플리케이션을 생성하여 Amazon EC2 인스턴스에서 실행되도록 할 수 있습니다. Amazon Rekognition 또는 타사 비디오 분석 공급업체와 같은 다른 Amazon AI 서비스를 사용하여 비디오 스트림을 처리할 수도 있습니다.
Q: 청크란 무엇입니까?
Kinesis Video Streams는 생산자로부터 데이터를 수신하면 들어오는 미디어 데이터를 청크로 저장합니다. 각 청크는 실제 미디어 조각, 생산자가 보낸 미디어 메타데이터의 사본, 조각 번호와 서버 측 및 제작자 측 타임스탬프와 같은 Kinesis Video Streams 관련 메타데이터로 구성됩니다. 소비자가 GetMedia API 작업을 통해 미디어 데이터를 요청하면 Kinesis Video Streams는 요청에서 지정한 조각 번호로 시작하는 청크 스트림을 반환합니다.
Q: Amazon Kinesis Video Streams의 지연 시간은 어떻게 예상해야 합니까?
엔드 투 엔드 미디어 데이터 흐름에는 지연 시간에 대한 4개의 주요 요인이 있습니다.
- 디바이스의 하드웨어 미디어 파이프라인에 소요된 시간: 이 파이프라인은 이미지 센서와 모든 하드웨어 인코더로 구성될 수 있습니다. 이론적으로 이는 단일 프레임 지속 시간만큼 작을 수 있습니다. 실제로는 거의 없습니다. 모든 인코더는 미디어 인코딩(압축)를 효과적으로 처리하기 위해 여러 프레임을 모아 조각을 만듭니다. 이 프로세스 및 모든 해당 모션 보정 알고리즘은 데이터가 전송을 위해 패키징되기 전에 디바이스에서 1초에서 몇 초까지의 지연 시간을 추가합니다.
- 인터넷에서의 실제 데이터 전송에서 발생하는 지연 시간: 네트워크 처리량 품질 및 지연 시간은 생산 디바이스가 있는 위치에 따라 크게 달라질 수 있습니다.
- 생산자 디바이스로부터 데이터를 수신할 때 Kinesis Video Streams에 의해 추가된 지연 시간: 들어오는 데이터는 모든 소비 애플리케이션에 대한 GetMedia API 작업에 즉시 사용할 수 있습니다. 사용자가 데이터를 보존하기로 선택한 경우 Kinesis Video Streams는 AWS Key Management Service (AWS KMS)를 사용하여 데이터를 암호화하고 비디오 스트림의 개별 조각에 시간 기반 인덱스를 생성합니다. GetMediaforFragmentList API를 사용하여 이 보존된 데이터에 액세스하면 Kinesis Video Streams는 내구성이 뛰어난 스토리지에서 조각을 가져와서 데이터를 해독하고 이를 소비 애플리케이션에서 사용할 수 있도록 합니다.
- 고객에게 전송되는 데이터 전송 지연 시간: 미디어 데이터를 요청하는 인터넷 또는 기타 AWS 리전에서 소비하는 디바이스가 있을 수 있습니다. 네트워크 처리량 품질 및 지연 시간은 소비하는 디바이스의 위치에 따라 크게 달라질 수 있습니다.
스트림에 데이터 게시
Q: 내 Kinesis 데이터 스트림에 데이터를 게시하려면 어떻게 해야 합니까?
PutMedia 작업을 통해 Kinesis 비디오 스트림에 미디어 데이터를 게시하거나 Java, C++ 또는 Android에서 Kinesis Video Streams 생산자 SDK를 사용할 수 있습니다. PutMedia 작업을 직접 사용하도록 선택한 경우 Kinesis Video Streams 데이터 사양에 따라 미디어 스트림을 패키징하고 스트림 생성, 토큰 회전 및 AWS 클라우드로 미디어 데이터를 안정적으로 스트리밍하는 데 필요한 다른 작업을 처리해야 합니다. 이러한 작업을 더 간단하게 만들고 빠르게 시작하려면 생산자 SDK를 사용하는 것이 좋습니다.
Q: Kinesis Video Streams PutMedia 작업이란 무엇입니까?
Kinesis Video Streams는 Kinesis 비디오 스트림에 미디어 데이터를 쓰는 PutMedia API를 제공합니다. PutMedia 요청에서 생산자는 미디어 조각 스트림을 전송합니다. 조각이 도착하면 Kinesis Video Streams가 고유 조각 번호를 증가하는 순서대로 할당합니다. 또한 각 조각에 대해 생산자 측 및 서버 측 타임스탬프를 Kinesis Video Streams별 메타데이터로 저장합니다.
Q: Kinesis Video Streams 생산자 SDK는 무엇입니까?
Amazon Kinesis Video Streams 생산자 SDK는 사용이 간편하고 쉽게 구성할 수 있는 라이브러리 세트로, 특정 생산자를 위해 설치하고 사용자 지정할 수 있습니다. SDK를 사용하면 비디오 스트림에 안전하게 연결하고 비디오 및 기타 미디어 데이터를 Kinesis Video Streams에 안정적으로 게시하는 디바이스 애플리케이션을 쉽게 빌드할 수 있습니다. 디바이스의 미디어 파이프라인에서 생성된 프레임과 조각을 패키징하는 데 필요한 기본 작업을 모두 처리해 줍니다. 또한 SDK는 스트림 생성, 안전하고 중단되지 않는 스트리밍을 위한 토큰 교체, Kinesis Video Streams가 반환한 응답 처리 및 기타 작업을 처리합니다.
Q: Kinesis Video Streams 생산자 SDK는 어떤 프로그래밍 플랫폼에서 사용할 수 있습니까?
Kinesis Video Streams 생산자 SDK의 코어는 C로 빌드되었기 때문에 다양한 하드웨어 플랫폼에서 효율적이고 휴대성이 뛰어납니다. 대부분의 개발자는 Kinesis Video Streams 생산자 SDK의 C, C++ 또는 Java 버전을 사용하는 것을 선호합니다. 또한 Android 디바이스에서 비디오 데이터를 스트리밍하려는 모바일 앱 개발자를 위한 Android 버전의 생산자 SDK도 있습니다.
Q: Kinesis Video Streams 생산자 SDK를 시작하기 전에 알아야 할 사항은 무엇입니까?
Kinesis Video Streams 생산자 SDK는 프레임 및 조각을 패키징하는 번거로운 작업을 모두 처리하고, 보안 연결을 설정하며, 비디오를 AWS로 안정적으로 스트리밍합니다. 하지만 여기에는 다양한 종류의 하드웨어 디바이스와 미디어 파이프라인이 실행되고 있습니다. 미디어 파이프라인과의 통합 프로세스를 더 쉽게 하기 위해 1) 프레임 경계, 2) 경계에 사용되는 프레임의 유형, I-프레임 또는 비 I-프레임, 3) 프레임 인코딩 타임스탬프에 대한 몇 가지 정보를 알아 두는 것이 좋습니다.
스트림에서 데이터 읽기
Q: GetMedia API는 무엇입니까?
GetMedia API를 사용하여 Kinesis 비디오 스트림에서 미디어 콘텐츠를 검색할 수 있습니다. 요청에서 스트림 이름 또는 스트림 Amazon Resource Name(ARN)과 시작 청크를 식별합니다. 그런 다음 Kinesis Video Streams는 조각 번호 순으로 청크 스트림을 반환합니다. 미디어 데이터(조각)를 스트림에 배치하면 Kinesis Video Streams는 들어오는 조각과 관련 메타데이터를 '청크'로 저장합니다. GetMedia API는 요청에서 지정한 청크에서 시작하여 이러한 청크의 스트림을 반환합니다.
Q: GetMediaForFragmentList API는 무엇입니까?
GetMediaForFragmentList API를 사용하여 Kinesis 비디오 스트림의 아카이브된 데이터에서 조각 목록 (조각 번호로 지정)에 대한 미디어 데이터를 검색할 수 있습니다. 일반적으로 이 API 작업을 호출하기 전에 ListFragments API를 호출합니다.
Q: ListFragments API는 무엇입니까?
ListFragments API를 사용하여 보존된 데이터 내에서 조각 번호 또는 타임스탬프를 사용하여 지정된 비디오 스트림 및 시작 위치에서 조각 목록을 반환합니다.
Q: Kinesis Video Streams에 얼마나 오래 데이터를 저장할 수 있습니까?
원하는 기간만큼 데이터를 스트림에 저장할 수 있습니다. Kinesis Video Streams를 사용하면 보관 및 스토리지 요구 사항에 맞게 데이터 보존 기간을 구성할 수 있습니다.
Q: Kinesis Video Streams Parser Library는 무엇입니까?
Kinesis Video Streams Parser Library를 사용하면 개발자가 Kinesis Video Streams GetMedia 작업의 출력을 쉽게 소비하고 처리할 수 있습니다. 애플리케이션 개발자는 비디오 스트림에서 작동하는 비디오 분석 및 처리 애플리케이션에 라이브러리를 포함하게 됩니다. 애플리케이션 자체는 EC2 인스턴스에서 실행되지만 다른 곳에서도 실행될 수 있습니다. 이 라이브러리에는 프레임 수준 객체 및 관련 메타데이터를 쉽게 가져올 수 있는 기능, 조각에 연결된 Kinesis Video Streams별 메타데이터 및 연속된 조각을 추출하여 수집하는 기능이 있습니다. 사용자는 사용 사례에 맞게 원시 비디오 데이터를 더욱 쉽게 사용할 수 있는 사용자 지정 애플리케이션을 빌드할 수 있습니다.
Q: Kinesis 비디오 스트림이 전달하는 프레임(및 조각)을 사용해야 하는 사용자 지정 처리 애플리케이션이 있는 경우 어떻게 해야 합니까?
일반적으로 비디오 스트림을 사용하고 사용자 지정 애플리케이션의 요구에 맞게 비디오 스트림을 조작하려는 경우 고려해야 할 두 가지 주요 단계가 있습니다. 먼저, GetMedia API가 제공하는 형식화된 스트림에서 프레임의 바이트를 가져옵니다. Stream Parser Library를 사용하여 프레임 객체를 가져올 수 있습니다. 그런 다음 픽셀 높이, 너비, 코덱 ID 및 코덱 프라이빗 데이터와 같은 프레임을 디코딩하는 데 필요한 메타데이터를 가져옵니다. 이러한 메타데이터는 추적 요소에 포함됩니다. Parser Library는 조각에 대한 추적 정보를 수집하는 헬퍼 클래스를 제공하여 이 정보를 더 쉽게 추출합니다.
이후의 단계는 애플리케이션에 따라 크게 달라집니다. 프레임을 디코딩하거나 재생 엔진용으로 포맷하거나, 콘텐츠 배포를 위해 트랜스코딩하거나, 사용자 지정 딥 러닝 애플리케이션 형식으로 제공할 수 있습니다. Kinesis Video Streams 스트림 Parser Library는 특정 사용 사례에 맞게 확장할 수 있도록 오픈 소스로 제공됩니다.
스트림에서 비디오 재생
Q: 자체 애플리케이션에 캡처된 비디오를 재생하려면 어떻게 해야 합니까?
Amazon Kinesis Video Streams의 HLS(HTTP Live Streams) 및 DASH(Dynamic Adaptive Streaming over HTTP) 기능을 사용하여 조각화된 MP4 또는 MPEG_TS 패키지 형식으로 수집된 비디오를 재생할 수 있습니다. HLS와 DASH는 업계 표준 HTTP 기반 미디어 스트리밍 프로토콜입니다. Amazon Kinesis Video Streams를 사용해 디바이스로부터 비디오를 캡처하면, HLS 또는 DASH API를 사용하여 라이브 또는 녹화된 비디오를 재생할 수 있습니다. 이는 완전관리형 기능이므로 비디오 재생을 지원하는 클라우드 기반 인프라를 구축할 필요가 없습니다. 아주 짧은 지연 시간 재생과 양방향 미디어 스트리밍에 대해 알아보려면 WebRTC 기반 스트리밍에 대한 FAQ를 참조하십시오.
Q: Kinesis Video Streams HLS 또는 DASH API를 시작하려면 어떻게 해야 합니까?
HLS 또는 DASH를 사용하여 Kinesis 비디오 스트림을 보려면 먼저 GetHLSStreamingSessionURL 또는 GetDASHStreamingSessionURL API를 사용하여 스트리밍 세션을 생성해야 합니다. 이 작업은 HLS 또는 DASH 세션에 액세스할 수 있는 URL(세션 토큰 포함)을 반환합니다. 그러면 미디어 플레이어 또는 독립형 애플리케이션을 사용하여 스트림을 재생할 수 있습니다. 프로그래밍 방식 또는 수동으로 HLS 또는 DASH 스트리밍 세션 URL을 제공하면 타사 플레이어 (Video.js, Google Shaka Player 등)를 사용하여 비디오 스트림을 표시할 수 있습니다. 또한, Apple Safari 또는 Microsoft Edge 브라우저의 위치 표시줄에 HLS 또는 DASH 스트리밍 세션 URL을 입력하여 비디오를 재생할 수도 있습니다. 그뿐만 아니라 모바일 앱용 Android (Exoplayer) 및 iOS (AVMediaPlayer) 비디오 플레이어를 사용할 수 있습니다.
Q: Kinesis Video Streams HLS API를 사용하는 데 필요한 기본 요구 사항은 무엇입니까?
Amazon Kinesis Video Streams에서 HLS를 통해 데이터를 제공하려면 다음 요구 사항을 충족해야 합니다.
- 미디어는 h.264 또는 h.265 인코딩된 비디오를 포함해야 하며 AAC 인코딩된 오디오는 선택 사항입니다. 특히, 트랙 1의 코덱 ID는 h.264에 대해 V_MPEG/ISO/AVC 또는 h.265에 대해 V_MPEG/ISO/HEVC이어야 합니다. 선택적으로 트랙 2의 코덱 ID는 A_AAC입니다.
- 각 조각의 비디오 트랙은 h.264에 대해 AVC(Advanced Video Coding) 형식 또는 h.265에 대해 HEVC 형식으로 코덱 프라이빗 데이터를 포함해야 합니다.(MPEG-4 사양 ISO/IEC 14496-15) 스트림 데이터를 주어진 형식에 적응시키는 방법에 대한 정보는 NAL 적응 플래그 섹션을 참조하십시오.
- 데이터 보존 기간은 0보다 커야 합니다.
- 각 조각의 오디오 트랙(존재하는 경우)은 AAC 형식의 코덱 프라이빗 데이터를 포함해야 합니다.(AAC 사양 ISO/IEC 13818-7)
Q: Kinesis Video Streams DASH API를 사용하는 데 필요한 기본 요구 사항은 무엇입니까?
Amazon Kinesis Video Streams에서 DASH를 통해 데이터를 제공하려면 다음 요구 사항을 충족해야 합니다.
- 미디어는 h.264 또는 h.265 인코딩된 비디오여야 하고 AAC 또는 G.711 인코딩된 오디오는 선택 사항입니다. 특히 트랙 1의 코덱 ID는 V_MPEG/ISO/AVC(h.264용) 또는 V_MPEGH/ISO/HEVC(H.265용)이어야 합니다. 트랙 2의 코덱 ID는 A_AAC(AAC용) 또는 A_MS/ACM(G.711용)이어야 합니다.
- 각 조각의 비디오 트랙은 H.264에 대해 AVC(Advanced Video Coding) 형식 및 H.265에 대해 HEVC 형식이어야 합니다. 자세한 내용은 MPEG-4 사양 ISO/IEC 14496-15를 확인하십시오. 스트림 데이터를 주어진 형식에 적응시키는 방법에 대한 정보는 NAL 적응 플래그 섹션을 참조하십시오.
- 데이터 보존 기간은 0보다 커야 합니다.
- 각 조각의 오디오 트랙(존재하는 경우)은 AAC 형식(AAC 사양 ISO/IEC 13818-7) 또는 MS Wave 형식으로 코덱 프라이빗 데이터를 포함해야 합니다.
Q: Kinesis Video Streams에서 HLS 또는 DASH 스트리밍용으로 제공하는 재생 모드는 무엇입니까?
HLS와 DASH에서 지원하는 두 개의 재생 모드가 있습니다. 라이브와 온디맨드 모드입니다.
라이브: 라이브 세션의 경우, 조각이 제공되는 대로 HLS 미디어 재생 목록이 최신 조각으로 지속적으로 업데이트됩니다. 미디어 플레이어에서 이러한 유형의 세션을 재생하면, 사용자 인터페이스는 일반적으로 '라이브' 알림을 표시하며 표시할 재생 화면의 위치를 선택할 수 있는 스크러버 제어 기능은 없습니다.
온디맨드: 온디맨드의 경우, HLS 미디어 재생 목록에는 MaxMediaPlaylistFragmentResults에 지정된 수까지 세션의 모든 조각이 포함됩니다. 재생 목록은 세션당 한 번만 검색할 수 있습니다.
또한 HLS는 LIVE_REPLAY 모드로 재생을 지원합니다. 이 모드에서 HLS 미디어 재생 목록은 LIVE 모드의 업데이트 방식과 유사하게 업데이트됩니다. 단 해당 시작 시간의 조각을 포함하여 시작한 경우는 제외됩니다. 이 모드는 저장된 미디어의 과거 시점에서 재생을 시작하고 라이브 스트리밍으로 진행하려고 할 때 유용합니다.
Q: API를 사용하여 비디오를 재생할 때 지연 시간은 어떻게 됩니까?
라이브 재생의 지연 시간은 일반적으로 3초에서 5초 사이이지만, 이는 유동적입니다. 자체 테스트와 개념 증명을 수행하여 목표 지연 시간을 결정하는 것이 좋습니다. 사용 사례, 생산자가 비디오 조각을 생성하는 방법, 비디오 조각의 크기, 플레이어 튜닝, 네트워크 상태(AWS로 스트리밍 및 재생을 위한 AWS에서 스트리밍 모두)를 비롯하여 지연 시간에 영향을 미치는 요소는 다양합니다. 짧은 지연 시간 재생에 대해서는 WebRTC 기반 스트리밍의 FAQ를 확인하십시오.
Q: HLS 또는 DASH 사용과 관련된 한도에는 어떤 것이 있습니까?
Kinesis 비디오 스트림은 최대 10개의 HLS 또는 DASH 스트리밍 세션을 지원합니다. 최대 세션 수가 이미 활성화된 상태에서 새로운 세션이 생성되면, 가장 오래된 (가장 먼저 생성된) 세션이 종료됩니다. Kinesis 비디오 스트림의 활성 GetMedia 연결 수는 이 한도에 포함되지 않으며, 활성 HLS 세션 수도 활성 GetMedia 연결 한도에 포함되지 않습니다. 자세한 내용은 Kinesis Video Streams 한도를 확인하십시오.
Q: Kinesis Video Streams와 AWS Elemental MediaLive의 차이점은 무엇입니까?
AWS Elemental MediaLive는 브로드캐스트 수준의 라이브 비디오 인코딩 서비스입니다. 이 서비스를 사용하면 브로드캐스트 텔레비전과 인터넷 연결 멀티스크린 디바이스 (커넥티드 TV, 태블릿, 스마트폰, 셋톱 박스 등)로 전송할 수 있는 고품질 비디오 스트림을 생성할 수 있습니다. 이 서비스는 개별적으로 또는 AWS 미디어 서비스의 일부로 사용할 수 있습니다.
Amazon Kinesis Video Streams를 사용하면 실시간 및 배치 중심의 기계 학습(ML), 비디오 재생, 분석 및 기타 처리를 위해 커넥티드 디바이스에서 AWS로 비디오를 쉽고 안전하게 스트리밍할 수 있습니다. 따라서 고객은 스마트 홈, 스마트 도시, 산업 자동화, 보안 모니터링 등을 제공하는 머신 비전 기반의 애플리케이션을 구축할 수 있습니다.
Q: 이 기능을 사용하면 비용이 부과됩니까?
Kinesis Video Streams는 사용량에 따라 지불하는 간편한 요금제를 사용합니다. 선결제 금액은 없으며 사용하는 리소스에 대한 비용만 지불하면 됩니다. Kinesis Video Streams 요금은 계정의 모든 비디오 스트림에서 수집된 데이터 볼륨 (GB), HLS 또는 DASH API 등을 통해 소비된 데이터의 볼륨 (GB) 및 저장된 데이터 (GB-월)를 기준으로 책정됩니다. 자세한 내용은 요금 페이지를 참조하세요.
Amazon Kinesis Video Streams 엣지 에이전트란 무엇인가요?
Q: Amazon Kinesis Video Streams 엣지 에이전트란 무엇인가요?
Kinesis Video Streams 엣지 에이전트는 사용이 쉽고 고도로 구성 가능한 라이브러리 세트로, 로컬 비디오 저장 및 클라우드 예약 업로드용으로 설치하여 사용자 지정할 수 있습니다. 엣지 에이전트를 다운로드하여 온프레미스 엣지 컴퓨팅 디바이스에 배포할 수 있습니다. 또는 Amazon EC2 시스템에서 실행되는 Docker 컨테이너에 쉽게 배포할 수 있습니다. 배포한 후에는 Amazon Kinesis Video Streams API를 사용하여 비디오 녹화 및 클라우드 업로드 구성을 업데이트할 수 있습니다. 이 기능은 RTSP 프로토콜을 통해 스트리밍할 수 있는 모든 IP 카메라에서 이용할 수 있으며, 카메라에 추가 펌웨어를 배포할 필요가 없습니다. Amazon Kinesis Video Streams 엣지 에이전트를 AWS Snowball Edge 디바이스, AWS Greengrass 구성 요소 또는 네이티브 IoT 배포에 설치할 수 있습니다. Amazon Kinesis Video Streams 엣지 에이전트에 액세스하려면 여기를 참조하세요.
WebRTC로 짧은 지연 시간의 양방향 미디어 스트리밍
Q: WebRTC란 무엇이며 Kinesis Video Streams는 이 기능을 어떻게 지원합니까?
WebRTC는 간단한 API를 통해 브라우저와 미디어 애플리케이션에 RTC(실시간 통신)을 활성화하는 오픈 테크놀로지 사양입니다. 연결된 피어 간에 실시간 데이터 교환을 위해 피어링 기술을 활용하고 인간과 인간의 상호작용에 필요한 짧은 미디어 스트리밍 지연 시간을 제공합니다. WebRTC 사양에는 피어투피어 연결을 설정하기 위해 상호연결설정(ICE RFC5245), Traversal Using Relay around NAT(TURN RFC5766) 및 Session Traversal Utilities for NAT(STUN RFC5389)을 비롯한 일련의 IETF 프로토콜을 포함합니다. 이외에도 실시간 미디어 및 데이터 스트리밍에 대한 프로토콜 사양도 포함합니다. Kinesis Video Streams는 완전관리형 기능으로서 표준 규정 준수 WebRTC 구현을 제공합니다. 이 기능을 통해 라이브 스트림을 안전하게 구현하고 IoT 카메라 디바이스 및 WebRTC 호환 모바일 또는 웹 플레이어 간에 양방향 오디오 또는 비디오 상호작용을 수행할 수 있습니다. 완전 관리형 기능으로서 애플리케이션과 디바이스 간에 미디어를 안전하게 스트림하기 위해 신호 또는 미디어 중계 서버와 같은 WebRTC 관련 클라우드 인프라를 구축, 운영 또는 확장할 필요가 없습니다.
Q: Amazon Kinesis Video Streams는 WebRTC와 라이브 스트리밍을 활성화하기 위해 자동으로 무엇을 관리합니까?
Kinesis Video Streams는 WebRTC 신호를 위해 관리형 엔드포인트를 제공합니다. 이를 통해 애플리케이션은 피어투피어 라이브 미디어 스트리밍을 위해 서로 안전하게 연결할 수 있습니다. 다음으로 애플리케이션이 피어투피어 미디어를 스트리밍할 수 없을 때 클라우드를 통해 미디어 중계를 활성화하는 TURN에 대한 관리형 엔드포인트도 포함합니다. 퍼블릭 IP 주소가 NAT 또는 방화벽 뒤에 있는 경우 애플리케이션이 퍼블릭 IP 주소를 찾을 수 있도록 활성화하는 STUN에 대한 관리형 엔드포인트도 포함합니다. 또한, 카메라 IoT 디바이스에 WebRTC 기능을 활성화하는 SDK도 쉽게 사용할 수 있도록 제공됩니다. 마지막으로 Android, iOS 또는 웹 애플리케이션용 클라이언트 SDK를 제공하여 Kinesis Video Streams WebRTC 신호, TURN 및 STUN 기능을 모든 WebRTC 호환 모바일 플레이어 또는 웹 플레이어와 통합합니다.
Q: Kinesis Video Streams WebRTC 기능을 사용하여 무엇을 구축할 수 있습니까?
Kinesis Video Streams WebRTC를 사용하면 카메라 IoT 디바이스, 웹 브라우저, 모바일 디바이스 간에 라이브 미디어 스트리밍, 실시간 오디오 또는 비디오 양방향성을 위한 애플리케이션을 쉽게 구축할 수 있습니다. 해당 사용 사례로는 부모가 유아 방을 감시하거나 주택 소유자가 비디오 초인종을 사용하여 문 밖에 누가 있는지 확인하고 카메라 지원 로봇 진공 청소기가 있는 사람이 모바일 전화기에서 라이브 카메라 스트리밍을 보면서 로봇을 원격으로 조종할 수 있습니다.
Q: Kinesis Video Streams WebRTC 기능을 시작하려면 어떻게 해야 합니까?
웹 브라우저, Android, iOS 기반 모바일 디바이스 및 Linux, Raspbian, MacOS 기반 IoT 디바이스에 사용하기 위해 Kinesis Video Streams SDKs for WebRTC의 샘플 애플리케이션을 구축하고 실행하여 시작하면 됩니다. Kinesis Video Streams 관리 콘솔에서 이 기능의 빠른 데모를 실행할 수 있습니다. 채널 신호를 생성하고 랩톱의 내장 카메라와 마이크에서 라이브 스트림 오디오와 비디오에 대한 데모 애플리케이션을 실행하면 됩니다.
Q: 신호 채널은 무엇입니까?
신호 채널은 신호 메시지를 교환하여 애플리케이션이 피어투피어 연결을 검색, 제어 및 종료하도록 하는 리소스입니다. 신호 메시지는 두 개의 애플리케이션이 피어투피어 연결을 설정하기 위해 서로 교환하는 메타데이터입니다. 이 메타데이터에는 미디어 코덱, 코덱 파라미터 및 라이브 스트리밍을 위해 두 개의 애플리케이션이 서로 연결하기 위해 사용할 수 있는 네트워크 후보 경로와 같은 로컬 미디어 정보를 포함합니다.
Q: 애플리케이션은 피어투피어 연결을 활성화하기 위해 신호 채널을 어떻게 사용합니까?
스트리밍 애플리케이션은 신호 채널과 일관된 연결을 유지하고 다른 애플리케이션이 연결될 때까지 기다리거나 라이브 스트림 데이터가 필요한 경우에만 신호 채널에 연결할 수 있습니다. 신호 채널은 하나의 마스터가 여러 뷰어와 연결되는 개념을 사용하는 일대다 모델에서 애플리케이션이 서로 연결할 수 있도록 합니다. 연결을 시작하는 애플리케이션은 ConnectAsMaster API를 통해 마스터 역할을 담당하고 뷰어를 대기합니다. 최대 10개의 애플리케이션은 ConnectAsViewer API를 통해 뷰어 역할을 맡아 해당 신호 채널에 연결할 수 있습니다. 신호 채널에 연결되면 마스터와 뷰어 애플리케이션은 서로 신호 메시지를 전송하여 라이브 미디어 스트리밍에 대해 피어투피어 연결을 설정합니다.
Q: 애플리케이션이 NAT 또는 방화벽 뒤에 위치한 경우 피어투피어 미디어를 어떻게 라이브 스트림합니까?
애플리케이션은 NAT 또는 방화벽 뒤에 위치한 경우 Kinesis Video Streams STUN 엔드포인트를 사용하여 퍼블릭 IP 주소를 검색합니다. 애플리케이션은 라이브 스트리밍에 대해 다른 애플리케이션의 연결 요청을 수신하는 위치로서 퍼블릭 IP 주소를 제공합니다. 모든 WebRTC 통신의 기본 옵션은 직접적인 피어투피어 연결입니다 하지만 NAT 또는 방화벽이 직접 연결(예: 대칭 NAT의 경우)을 허용하지 않는 경우 애플리케이션은 클라우드를 통해 미디어를 중계하는 Kinesis Video Streams TURN 엔드포인트에 연결할 수 있습니다. GetIceServerConfig API는 애플리케이션이 WebRTC 구성에 사용할 수 있는 TURN 엔드포인트 정보를 제공합니다. 이 구성은 애플리케이션이 라이브 스트리밍에 대해 직접 피어투피어 연결을 설정하지 못할 때 TURN 중계를 폴백으로 사용하도록 합니다.
Q: Kinesis Video Streams는 WebRTC를 사용한 라이브 미디어 스트리밍을 어떻게 보호합니까?
엔드투엔드 암호화는 WebRTC의 필수 기능이며 Kinesis Video Streams는 신호, 미디어, 데이터 스트리밍을 포함하는 모든 구성 요소에 암호화를 적용합니다. 통신이 피어투피어 형식이든 또는 Kinesis Video Streams TURN 엔드포인트를 통해 중계되든 모든 WebRTC 통신은 표준화된 암호화 프로토콜을 통해 안전하게 암호화됩니다. 웹소켓(WSS) 및 데이터 스트림을 사용하여 교환되는 신호 메시지는 DTLS(Datagram Transport Layer Security)를 사용하여 암호화되고 미디어 스트림은 SRTP(Secure Real-time Transport Protocol)를 통해 암호화됩니다.
콘솔
Q: Kinesis Video Streams 관리 콘솔이란 무엇입니까?
Kinesis Video Streams 관리 콘솔을 통해 비디오 스트림을 생성, 업데이트, 관리 및 모니터링할 수 있습니다. 또한 스트림의 콘텐츠가 지원되는 미디어 유형인 경우 해당 콘솔은 미디어 스트림을 라이브 또는 온디맨드로 재생할 수도 있습니다. 플레이어 컨트롤을 사용하면 라이브 스트림을 보거나 앞으로 또는 뒤로 10초 건너뛰기, 날짜 및 시간 선택기를 사용하여 비디오 스트림의 해당 보존 기간을 설정한 과거 시점으로 되감기할 수 있습니다. Kinesis Video Streams 관리 콘솔의 비디오 재생 기능은 Kinesis Video Streams를 사용하여 솔루션을 개발할 때 개발자가 개발 및 테스트 시나리오를 신속하게 진단 할 수 있는 도구로 제공됩니다.
Q: 콘솔에서 지원하는 미디어 유형은 무엇입니까?
Kinesis Video Streams 관리 콘솔에서는 널리 사용되는 H.264 형식의 비디오 유형만 재생할 수 있도록 지원합니다. 이 미디어 형식은 디바이스, 하드웨어 및 소프트웨어 인코더 및 재생 엔진에 대한 광범위한 지원을 받습니다. 사용자가 소비자 애플리케이션 및 사용 사례에 맞게 다양한 비디오, 오디오 또는 기타 사용자 지정 시간이 인코딩된 데이터 형식을 수집할 수 있는 반면 관리 콘솔은 다른 데이터 유형을 재생하지 않습니다.
Q: Kinesis Video Streams 관리 콘솔에서 비디오 재생이 지연되는 이유는 무엇입니까?
비디오 데이터를 비디오 스트림으로 전송하는 생산자의 경우 Kinesis Video Streams 관리 콘솔의 라이브 재생 환경에서 2~10초의 지연이 발생합니다. 지연 시간의 대부분은 인터넷을 통해 데이터를 전송하기 전에 조각을 프레임에 축적할 때 생산자 디바이스에 의해 추가됩니다. 데이터가 Kinesis Video Streams 엔드포인트에 진입하고 사용자가 재생을 요청하면, 콘솔은 내구성이 뛰어난 스토리지에서 H.264 미디어 유형 조각을 가져와서 여러 인터넷 브라우저에서 재생할 수 있는 미디어 형식으로 조각을 변환-패키징합니다. 그러면 변환-패키징된 미디어 콘텐츠가 인터넷을 통해 사용자가 재생을 요청한 위치로 전송됩니다.
암호화
Q: Kinesis Video Streams의 서버 측 암호화란 무엇인가요?
서버 측 암호화란 사용자가 지정하는 AWS KMS 키를 사용하여 데이터가 저장되기 전에 자동으로 암호화하는 Kinesis Video Streams의 기능입니다. 데이터는 Kinesis Video Streams 스토리지 계층에 쓰여지기 전에 암호화되고 스토리지에서 검색된 후 해독됩니다. 결과적으로 데이터는 Kinesis Video Streams 서비스 내에서 저장되는 동안 항상 암호화됩니다.
Q: 서버 측 암호화를 시작하는 방법은 무엇입니까?
서버 쪽 암호화는 Kinesis Video Streams에서 항상 활성화됩니다. 스트림 생성 시에 사용자 제공 키가 지정되지 않으면 기본 키 (Kinesis Video Streams가 제공)가 사용됩니다.
사용자 제공 AWS KMS 키는 생성될 때 Kinesis Video Streams 스트림에 할당되어야 합니다. 나중에 UpdateStream API를 사용하여 스트림에 다른 키를 할당할 수 없습니다.
사용자 제공 AWS KMS 키를 Kinesis 비디오 스트림에 다음 두 가지 방법으로 할당할 수 있습니다. 콘솔에서 Kinesis 비디오 스트림을 생성할 때 'Create new Kinesis Video stream' 페이지의 'Encryption' 섹션에서 AWS KMS 키를 지정합니다. 또는 CreateStream API를 사용하여 Kinesis Video Streams 스트림을 생성할 때 KmsKeyId 파라미터에 키 ID를 지정합니다.
Q: 서버 측 암호화 사용 비용은 얼마나 됩니까?
서버 측 암호화를 적용하면 AWS KMS API 사용 및 주요 비용 대상이 됩니다. 사용자 지정 AWS KMS 키와는 달리 (Default) aws/kinesis-video KMS 키는 무료로 제공됩니다. 하지만 Kinesis Video Streams가 사용자를 대신하여 초래하는 API 사용 비용을 지불해야 합니다. API 사용 비용은 사용자 지정 KMS 키를 비롯한 모든 KMS 키에 적용됩니다. Kinesis Video Streams는 데이터 키를 교체할 때 약 45분 간격으로 AWS KMS를 호출합니다. 30일 동안 Kinesis Video Streams 스트림에 의해 시작된 AWS KMS 호출의 총 비용은 몇 달러 미만이어야 합니다. 각 사용자 자격 증명에 AWS KMS로의 고유한 API 호출이 필요하므로 이 비용은 사용자가 데이터 생산자 및 소비자에 대하여 사용하는 사용자 자격 증명의 수에 따라 증가합니다.
요금 및 결제
Q: AWS 프리 티어에서 Amazon Kinesis Video Streams를 사용할 수 있습니까?
아니오. Amazon Kinesis Video Streams는 AWS 프리 티어에서 사용할 수 없습니다.
Q: Kinesis Video Streams의 요금은 어떻게 됩니까?
Kinesis Video Streams는 사용량에 따라 지불하는 간편한 요금제를 사용합니다. 선수금이나 최소 요금이 없으며 사용한 리소스에 대해서만 비용을 지불하면 됩니다. Kinesis Video Streams 요금은 계정의 모든 비디오 스트림에서 수집된 데이터 볼륨 (GB), 소비된 데이터의 양 (GB) 및 저장된 데이터 (GB-월)를 기준으로 책정됩니다.
또한 Kinesis Video Streams는 4 KB의 최소 청크 크기로 성공적으로 수신한 미디어 데이터에 대해서만 요금을 부과합니다. 비교 기준으로, 64 kbps 오디오 샘플의 크기는 8 KB이므로 최소 청크 크기는 최소 오디오 또는 비디오 스트림을 수용할 수 있을 만큼 충분히 낮게 설정됩니다.
Q: Kinesis Video Streams는 스트림에 저장된 데이터에 대해 어떻게 비용을 청구합니까?
Kinesis Video Streams는 특정 스트림에서 영구적으로 저장된 총 데이터 양에 대해 요금을 부과합니다. 보존 시간을 사용하여 비디오 스트림당 저장된 총 데이터 양을 제어할 수 있습니다.
Kinesis Video Streams WebRTC 기능을 사용하면 요금이 어떻게 부과됩니까?
Amazon Kinesis Video Streams WebRTC 기능 사용은 해당 월의 활성 상태인 신호 채널 수, 송수신된 신호 메시지 수 및 미디어 중계에 사용된 TURN 스트림 분에 따라 부과됩니다. 해당 월 기간에 언제든지 디바이스 또는 애플리케이션이 신호 채널에 연결되면 신호 채널은 활성으로 간주됩니다. TURN 스트리밍 분은 1분 간격으로 계량됩니다. 자세한 내용은 요금 페이지를 참조하십시오.
서비스 수준 계약
Q: Amazon Kinesis Video Streams SLA은 무엇을 보장합니까?
Amazon Kinesis Video Streams SLA는 Amazon Kinesis Video Streams의 월간 가동률을 최소 99.9% 보장합니다.
Q: SLA 서비스 크레딧을 수령할 자격이 있는지 어떻게 알 수 있습니까?
같은 리전 내에서 작업을 실행하고 있는 하나 이상의 가용 영역의 월간 가동률이 월별 청구 주기 동안 99.9%보다 낮은 경우, Amazon Kinesis Video Streams SLA에 따라Amazon Kinesis Video Streams의 SLA 크레딧 지급 대상이 됩니다.
SLA 이용 약관과 요청 제출 방법에 대한 자세한 내용은 Amazon Kinesis Video Streams SLA 세부 정보 페이지를 참조하십시오.
Amazon Kinesis Video Streams 요금에 대해 자세히 알아보기