기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 비디오 재생 MPEG-DASH
MPEG-를 사용하여 Kinesis 비디오 스트림을 보려면 DASH먼저 G 세션을 사용하여 스트리밍etDASHStreamingURL 세션을 생성합니다. 이 작업은 MPEG-DASH 세션에 액세스하기 위한 URL (세션 토큰 포함)를 반환합니다. 그런 다음 URL 미디어 플레이어 또는 독립 실행형 애플리케이션에서를 사용하여 스트림을 표시할 수 있습니다.
Amazon Kinesis 비디오 스트림에는 MPEG-를 통해 비디오를 제공하기 위한 DASH다음과 같은 요구 사항이 있습니다.
-
스트리밍 비디오 재생 트랙 요구 사항은 섹션을 참조하세요G 세션 요구 사항 etDASHStreaming URL.
-
데이터 보존이 0보다 커야 합니다.
-
각 조각의 비디오 트랙에는 H.264 형식 및 H.265 형식의 고급 비디오 코딩(AVC)HEVC에 코덱 프라이빗 데이터가 포함되어야 합니다. 자세한 내용은 MPEG-4 사양ISO/IEC14496-15을 참조하세요
. 스트림 데이터를 지정된 형식으로 조정하는 방법에 대한 자세한 내용은 NAL 조정 플래그를 참조하세요. -
각 조각의 오디오 트랙(있는 경우)에는 AAC 형식(AAC사양 ISO/IEC 13818-7
) 또는 MS Wave 형식 의 코덱 프라이빗 데이터가 포함되어야 합니다.
예: HTML 및에서 MPEG-DASH 사용 JavaScript
다음 예제에서는 Kinesis 비디오 스트림에 대한 MPEG-DASH 스트리밍 세션을 검색하고 웹 페이지에서 재생하는 방법을 보여줍니다. 예제에서는 다음 플레이어에서 비디오를 재생하는 방법을 보여줍니다.
주제
용 Kinesis Video Streams 클라이언트 설정 MPEG-DASH 재생
MPEG-를 사용하여 스트리밍 비디오에 액세스하려면 DASH먼저 Kinesis Video Streams 클라이언트(서비스 엔드포인트 검색) 및 아카이브된 미디어 클라이언트(MPEG스트DASH리밍 세션 검색)를 생성하고 구성합니다. 애플리케이션은 HTML 페이지의 입력 상자에서 필요한 값을 검색합니다.
var streamName = $('#streamName').val(); // Step 1: Configure SDK Clients var options = { accessKeyId: $('#accessKeyId').val(), secretAccessKey: $('#secretAccessKey').val(), sessionToken: $('#sessionToken').val() || undefined, region: $('#region').val(), endpoint: $('#endpoint').val() || undefined } var kinesisVideo = new AWS.KinesisVideo(options); var kinesisVideoArchivedContent = new AWS.KinesisVideoArchivedMedia(options);
에 대한 Kinesis Video Streams 아카이브된 콘텐츠 엔드포인트 검색 MPEG-DASH 재생
클라이언트가 시작된 후 다음과 URL 같이 MPEG-DASH 스트리밍 세션을 검색할 수 있도록 Kinesis Video Streams 아카이브된 콘텐츠 엔드포인트를 검색합니다.
// Step 2: Get a data endpoint for the stream console.log('Fetching data endpoint'); kinesisVideo.getDataEndpoint({ StreamName: streamName, APIName: "GET_DASH_STREAMING_SESSION_URL" }, function(err, response) { if (err) { return console.error(err); } console.log('Data endpoint: ' + response.DataEndpoint); kinesisVideoArchivedContent.endpoint = new AWS.Endpoint(response.DataEndpoint);
MPEG-DASH 스트리밍 세션 검색 URL
보관된 콘텐츠 엔드포인트가 있는 경우 다음과 URL 같이 G etDASHStreaming세션을URL 호출API하여 MPEG스트리밍DASH 세션을 검색합니다.
// Step 3: Get a Streaming Session URL var consoleInfo = 'Fetching ' + protocol + ' Streaming Session URL'; console.log(consoleInfo); if (protocol === 'DASH') { kinesisVideoArchivedContent.getDASHStreamingSessionURL({ StreamName: streamName, PlaybackMode: $('#playbackMode').val(), DASHFragmentSelector: { FragmentSelectorType: $('#fragmentSelectorType').val(), TimestampRange: $('#playbackMode').val() === "LIVE" ? undefined : { StartTimestamp: new Date($('#startTimestamp').val()), EndTimestamp: new Date($('#endTimestamp').val()) } }, DisplayFragmentTimestamp: $('#displayFragmentTimestamp').val(), DisplayFragmentNumber: $('#displayFragmentNumber').val(), MaxManifestFragmentResults: parseInt($('#maxResults').val()), Expires: parseInt($('#expires').val()) }, function(err, response) { if (err) { return console.error(err); } console.log('DASH Streaming Session URL: ' + response.DASHStreamingSessionURL);
를 사용하여 스트리밍 비디오 표시 MPEG-DASH 재생
MPEG-DASH 스트리밍 세션이 있는 경우 비디오 플레이어에 URL제공합니다. 비디오 플레이어에 URL를 제공하는 방법은 사용하는 플레이어에 따라 다릅니다.
다음 코드 예제는 Google Shaka
// Step 4: Give the URL to the video player. //Shaka Player elements <video id="shaka" class="player" controls autoplay></video> <script src="https://cdnjs.cloudflare.com/ajax/libs/shaka-player/2.4.1/shaka-player.compiled.js"> </script> ... var playerName = $('#player').val(); if (playerName === 'Shaka Player') { var playerElement = $('#shaka'); playerElement.show(); var player = new shaka.Player(playerElement[0]); console.log('Created Shaka Player'); player.load(response.DASHStreamingSessionURL).then(function() { console.log('Starting playback'); }); console.log('Set player source'); }
다음 코드 예제는 dash.js
<!-- dash.js Player elements --> <video id="dashjs" class="player" controls autoplay=""></video> <script src="https://cdn.dashjs.org/latest/dash.all.min.js"></script> ... var playerElement = $('#dashjs'); playerElement.show(); var player = dashjs.MediaPlayer().create(); console.log('Created DASH.js Player'); player.initialize(document.querySelector('#dashjs'), response.DASHStreamingSessionURL, true); console.log('Starting playback'); console.log('Set player source'); }
완료된 예제
에서 완료된 예제 코드를 다운로드하거나 볼