기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
예: Kinesis Video Streams 프래그먼트의 파싱 및 렌더링
에는 Amazon Kinesis 비디오 스트림 KinesisVideoRendererExample
프래그먼트의 구문 분석 및 렌더링을 보여주는 이름의 데모 애플리케이션이 파서 라이브러리를 사용하여 스트리밍 포함되어 있습니다. 이 예제에서는 애플리케이션을 JCodec
이 예에서는 다음 작업을 수행하는 방법을 보여줍니다.
-
를 사용하여 Kinesis 비디오 스트림에서 프레임을 검색하고 볼 수
GetMedia
API 있도록 스트림을 렌더링합니다. -
Kinesis Video Streams 콘솔을 사용하는 대신 사용자 지정 애플리케이션에서 스트림의 비디오 콘텐츠를 볼 수 있습니다.
또한 이 예제의 클래스를 사용하여 표시되기 전에 디코딩할 필요가 없는 JPEG 파일 스트림과 같이 H.264로 인코딩되지 않은 Kinesis 비디오 스트림 콘텐츠를 볼 수 있습니다.
다음 절차에서는 렌더러 데모 애플리케이션을 설정하고 사용하는 방법을 소개합니다.
사전 조건
렌더러 예제 라이브러리를 검사하고 사용하려면 다음이 필요합니다.
-
Amazon Web Services (AWS) 계정. 아직 AWS 계정이 없는 경우 Kinesis Video Streams 시작하기를 참조하십시오.
-
자바 통합 개발 환경 (IDE) (예: 이클립스 자바 네온 또는
JetBrains IntelliJ Idea)
렌더러 예제 실행
-
디렉터리를 만든 다음 리포지토리에서 예제 소스 코드를 복제합니다 GitHub.
git clone https://github.com/aws/amazon-kinesis-video-streams-parser-library
-
사용 IDE 중인 자바 (예: Eclipse
또는 IntelliJ IDEA ) 를 열고 다운로드한 Apache Maven 프로젝트를 가져옵니다. -
Eclipse: [File], [Import], [Maven], [Existing Maven Projects]를 차례로 선택합니다.
kinesis-video-streams-parser-lib
디렉터리로 이동합니다. -
IntelliJ Idea에서 [Import]를 선택합니다. 다운로드한 패키지의 루트에 있는
pom.xml
파일을 찾습니다.참고
IntelliJ가 종속성을 찾을 수 없는 경우 다음을 수행해야 할 수 있습니다.
-
빌드 정리: File(파일), Settings(설정), Build, Execution, Deployment(구축, 실행, 배포), Compiler(컴파일러)를 선택합니다. 재빌드 시 출력 디렉터리 지우기가 선택되어 있는지 확인한 다음 [빌드 ], [프로젝트 빌드] 를 선택합니다.
-
프로젝트 다시 가져오기: 프로젝트의 컨텍스트(오른쪽 클릭) 메뉴를 열고 Maven, Reimport(다시 가져오기)를 선택합니다.
-
자세한 내용은 관련 IDE 설명서를 참조하십시오.
-
-
Java에서 IDE 여십시오
src/test/java/com.amazonaws.kinesisvideo.parser/examples/KinesisVideoRendererExampleTest
. -
파일에서
@Ignore
명령을 제거합니다. -
Kinesis 비디오 스트림의 이름으로
.stream
파라미터를 업데이트합니다. -
KinesisVideoRendererExample
테스트를 실행합니다.
작동 방식
이 예제 애플리케이션은 다음과 같은 방법을 보여줍니다.
데이터 전송 MKV
이 예제에서는 rendering_example_video.mkv
파일에서 샘플 MKV 데이터를 전송하고, 를 PutMedia
사용하여 이름이 지정된 스트림으로 비디오 데이터를 render-example-stream전송합니다.
이 애플리케이션에서는 PutMediaWorker
를 생성합니다.
PutMediaWorker putMediaWorker = PutMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), inputStream, streamOps.amazonKinesisVideo); executorService.submit(putMediaWorker);
PutMediaWorker
클래스에 대한 자세한 내용은 파서 라이브러리를 사용하여 스트리밍 설명서의 통화 PutMedia 단원을 참조하십시오.
MKV프래그먼트를 프레임으로 파싱하기
그런 다음 예제에서는 다음을 사용하여 스트림에서 MKV 프래그먼트를 검색하고 파싱합니다. GetMediaWorker
GetMediaWorker getMediaWorker = GetMediaWorker.create(getRegion(), getCredentialsProvider(), getStreamName(), new StartSelector().withStartSelectorType(StartSelectorType.EARLIEST), streamOps.amazonKinesisVideo, getMediaProcessingArgumentsLocal.getFrameVisitor()); executorService.submit(getMediaWorker);
GetMediaWorker
클래스에 대한 자세한 내용은 파서 라이브러리를 사용하여 스트리밍설명서의 통화 GetMedia 단원을 참조하십시오.
프레임 디코딩 및 표시
그런 다음 예제에서는 를 사용하여 프레임을 디코딩하고 표시합니다. JFrame
다음 코드 예제는 KinesisVideoFrameViewer
클래스에서 가져온 것으로, JFrame
을 확장합니다.
public void setImage(BufferedImage bufferedImage) { image = bufferedImage; repaint(); }
이미지는 java.awt.image 인스턴스로 표시됩니다. BufferedImageBufferedImage
작업 방법을 보여주는 예제는 이미지 읽기/로드