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

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

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

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

Amazon Kinesis 비디오 스트림은 -를 통해 MPEG 비디오를 제공하기 위한 다음과 같은 요구 사항을 충족해야 합니다. DASH

예: - 입력 및 사용 MPEG DASH HTML JavaScript

다음 예제는 Kinesis 비디오 스트림의 DASH 스트리밍 세션을 검색하고 웹 페이지에서 재생하는 방법을 보여줍니다. MPEG 예제에서는 다음 플레이어에서 비디오를 재생하는 방법을 보여줍니다.

Kinesis Video Streams 클라이언트 MPEG 설정 - 재생 DASH

MPEGDASH-를 사용하여 스트리밍 비디오에 액세스하려면 먼저 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

클라이언트가 시작된 후 Kinesis Video Streams 보관된 콘텐츠 엔드포인트를 검색하여 다음과 같이 DASH - 스트리밍 URL 세션을 검색할 MPEG 수 있습니다.

// 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 Session을 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 있습니다.