프로젝트/미디어 스트리밍 서버 프로젝트
-
DataGrip으로 테이블 DDL DML 추출하기프로젝트/미디어 스트리밍 서버 프로젝트 2023. 1. 31. 00:01
개요 Intellij의 DataGrip을 통해 database를 보던 중 application에 테스트 데이터를 추가하기 위해 테이블 정의를 위한 DDL과 insert query를 위한 DML을 추출하고 싶어 졌습니다. DDL 추출하기 테이블을 조회하면 상단의 중간부에 DDL이라는 단어가 보입니다. 해당 단어를 클릭하면 DDL문이 추출됩니다. -- auto-generated definition create table test_db ( test_column1 varchar(10) not null constraint pk_test_db primary key, test_column2 numeric(10, 2) not null, test_column3 timestamp not null, test_column4 ..
-
CDN이란?프로젝트/미디어 스트리밍 서버 프로젝트 2023. 1. 17. 00:01
[1] CDN 이란? [2] [AWS] CloudFront와 S3 연결하기 [이론편] CDN이란? Content Delivery Network의 약자로 콘텐츠 전송 네트워크입니다. 지리적 제약 없이 전 세계 사용자에게 빠르고 안전하게 콘텐츠를 전송할 수 있는 콘텐츠 전송 기술을 의미합니다. 비디오, 오디오, 앱, 게임, OS 업데이트와 같은 다운로드까지 광범위한 콘텐츠를 전송합니다. 마치 길거리의 ATM을 이용하게 된다면 직접 은행에 가지 않아도 되는 것을 떠올리면 좋습니다. CDN의 등장 배경 ATM이 없이 특정 은행에서만 돈을 출금할 수 있으면 어떻게 될까요? 1. 은행에서 거리가 먼 사람들은 은행에 가기 위해 오래 걸리게 됩니다. (사용자별 차별화된 경험) 조금 더 구체적으로 말하면 누구는 은행에 ..
-
S3 pre-signed url 만들기(Kotlin + Spring)프로젝트/미디어 스트리밍 서버 프로젝트 2023. 1. 6. 00:01
pre-sigend url이란? 모든 객체 및 버킷은 기본적으로 private입니다. 보통 고객/사용자가 AWS 보안 자격 증명을 얻어 버킷에 접근하여 객체에 업로드합니다. 이때 pre-signed url을 통해 선택적으로 객체를 공유하여 보안 자격 증명이나 권한 없이 버킷에 객체를 업로드하는 것을 허용할 수 있습니다. 보통 pre-sigend url의 기능은 이를 만든 사용자의 권한에 의해 제한됩니다. pre-sigend url을 만들기 위해서는 보안 자격 증명을 제공하고 버킷 이름, 객체 키, HTTP 메서드 및 만료 날짜와 시간을 지정해야 합니다. 지정된 기간 동안만 유효합니다. pre-signed url 동작 과정 [그림 1] 과정을 글로 설명하면 다음과 같습니다. 1. 클라이언트가 서버에게 pr..
-
Adaptive Bitrate와 MPD파일프로젝트/미디어 스트리밍 서버 프로젝트 2023. 1. 5. 00:01
개요 mediaconvert의 ABR옵션을 알아보고 적용하는 과정에서 MPD파일과 APR옵션에 대한 이해를 가져가려고 합니다. 비디오를 전체 다운로드하고 비디오를 시청해야 할까? 비디오 파일을 보기 전 전체를 다운로드 할 필요가 없습니다. 이와 동일한 효과를 얻기 위해 재생을 위한 약간의 미디어 청크를 가져올 수 있습니다. 이때 주의할 점은 플레이어가 미디어를 소비하는 속도만큼 미디어를 수신해야 합니다. 만약 고품질 비디오를 스트리밍하려면 더 빠른 네트워크가 필요하게됩니다. 하지만 네트워크 속도는 상황에 따라 달라질 수 있습니다. ABR(Adaptive BitRate) 등장 위의 문제를 해결하기 위해 ABR이 등장하게 되었습니다. ABR은 2가지의 개념으로 이 문제를 해결합니다. 1. 다양한 품질 수준의..
-
스프링과 스트리밍 서버프로젝트/미디어 스트리밍 서버 프로젝트 2022. 12. 23. 00:01
https://junuuu.tistory.com/467 스트리밍 서버란? 스트리밍이란? 스트리밍이란 인터넷(네트워크)을 바탕으로 사용자에게 각종 비디오, 오디오등의 멀티미디어 디지털 정보를 제공하는 기술로 인터넷에서 영상 및 음향 등의 파일을 다운로드 없 junuuu.tistory.com 이전시간에 스트리밍 서버에 대해서 알아보고 멀티미디어 전송방식에 대해서 알아보았습니다. 개요 각 전송방식에 대해 스프링을 활용하여 어떻게 구현할 수 있는지 알아보겠습니다. HTML5(video) + Spring Boot : Progressive download HTML5 태그 중 VIDEO 태그를 사용하여 웹에서 동영상을 플레이하는 기능입니다. HTML 소스에서는 아래와 같이 호출합니다. ... not use video..
-
[Kotlin] AWS S3에 업로드하기프로젝트/미디어 스트리밍 서버 프로젝트 2022. 12. 19. 00:01
목표 - API를 통해 S3 bucket에 업로드를 수행한다(또는 localstack 테스트) locakstack이란? 오픈소스로 만들어진 프레임워크입니다. 가장 큰 특징으로 클라우드 환경을 로컬에서 직접 구현해서 테스트할 수 있습니다. AWS 관련의 Application들을 Docker 컨테이너로 만들어서 Cloud환경과 동일한 환경을 구축할 수 있습니다. 사전 세팅 - 현재 S3 bucket이 public access 가능한 상황입니다.(참고 : https://zzang9ha.tistory.com/358) - Spring initializr(Gradle Project, Kotlin, Spring Boot 2.7.4, Jar, Java 11) + dependencies(spring web) - Post..
-
AWS Foundation 기반 온디맨드 비디오 솔루션 구현 - 이론편프로젝트/미디어 스트리밍 서버 프로젝트 2022. 12. 12. 00:01
개요 스트리밍 서비스 구축을 위해 [그림]1과 같은 서비스를 배포할 수 있는 방법을 알아보겠습니다. AWS 공식문서를 기반으로 작성되었습니다. https://docs.aws.amazon.com/solutions/latest/video-on-demand-on-aws-foundations/video-on-demand-on-aws-foundations.pdf 비디오 콘텐츠 수집과 처리에 관련하여 조금 더 복잡한 workflows가 존재합니다. (Video on Demand on AWS) 각각의 역할 - AWSElementalMedia는 소스 형식의 미디어 파일을 스마트폰, 태블릿, PC 및 기타 장치와 같은 장치에서 재생되는 버전으로 코드 변환합니다. - 객체 스토리지용 AmazonSimpleStorageSe..
-
OTT는 어떻게 콘텐츠를 보호할까?프로젝트/미디어 스트리밍 서버 프로젝트 2022. 12. 8. 00:01
개요 유료 콘텐츠 사업자의 입장에서 가장 우려되는 부분은, 서비스하는 콘텐츠가 불법으로 유출되어 유로 가입자의 수가 줄거나 성장이 둔화하는 것입니다. 이러한 콘텐츠 불법 유출을 막기 위해 여러 OTT 서비스들은 DRM과 워터마킹이라는 기술을 이용해 콘텐츠를 보호합니다. DRM이란? Digital Rights Management의 약자로 디지털 권한 관리는 저작권자가 그들이 배포한 디지털 자료의 사용을 제어하고 의도한 용도로만 사용하도록 제한하는 데 사용되는 모든 기술을 지칭하는 용어입니다. 주로 디지털 콘텐츠를 인증된 사용자가 인증된 기간 동안만 사용 가능하도록 강제하여, 정당한 비용을 지불하지 않은 불법적인 사용을 방지합니다. DRM의 핵심 기본적으로 원본 콘텐츠는 DRM 패키징이라는 과정을 거쳐 암호..