기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MPEG-를 사용한 비디오 재생 DASH
MPEGDASH-를 사용하여 Kinesis 비디오 스트림을 보려면 먼저 G etDASHStreaming Session을 사용하여 스트리밍 세션을 생성합니다. URL 이 작업은 MPEG - DASH 세션에 액세스하기 위한 a URL (세션 토큰 포함) 를 반환합니다. 그런 다음 미디어 플레이어나 독립 실행형 URL 애플리케이션에서 를 사용하여 스트림을 표시할 수 있습니다.
Amazon Kinesis 비디오 스트림은 -를 통해 MPEG 비디오를 제공하기 위한 다음과 같은 요구 사항을 충족해야 합니다. DASH
-
스트리밍 비디오 재생 트랙 요구 사항은 을 참조하십시오G 세션 요구 사항 etDASHStreaming URL.
-
데이터 보존이 0보다 커야 합니다.
-
각 프래그먼트의 비디오 트랙에는 H.264 형식 및 H.265 형식의 고급 비디오 코딩 (AVC) 코덱 전용 데이터가 포함되어야 합니다. HEVC 자세한 내용은 -4 사양/14496-15를 참조하십시오. MPEG ISO IEC
스트림 데이터를 지정된 형식으로 조정하는 방법에 대한 자세한 내용은 적응 플래그를 참조하십시오. NAL -
각 프래그먼트의 오디오 트랙 (있는 경우) 에는 AAC 형식 (AACISOIEC사양/13818-7
) 또는 MS Wave 형식의 코덱 전용 데이터가 포함되어야 합니다.
예: - 입력 및 사용 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
// 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'); }
완성된 예제
완성된 예제 코드는 에서 다운로드하거나 볼