를 사용한 비디오 재생 MPEG-DASH - Amazon Kinesis Video Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 비디오 재생 MPEG-DASH

MPEG-를 사용하여 Kinesis 비디오 스트림을 보려면 DASH먼저 G 세션을 사용하여 스트리밍etDASHStreamingURL 세션을 생성합니다. 이 작업은 MPEG-DASH 세션에 액세스하기 위한 URL (세션 토큰 포함)를 반환합니다. 그런 다음 URL 미디어 플레이어 또는 독립 실행형 애플리케이션에서를 사용하여 스트림을 표시할 수 있습니다.

Amazon Kinesis 비디오 스트림에는 MPEG-를 통해 비디오를 제공하기 위한 DASH다음과 같은 요구 사항이 있습니다.

예: 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 플레이어URL에 스트리밍 세션을 제공하는 방법을 보여줍니다.

// 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 플레이어URL에 스트리밍 세션을 제공하는 방법을 보여줍니다.

<!-- 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'); }

완료된 예제

에서 완료된 예제 코드를 다운로드하거나 볼 수 있습니다 GitHub.