Privacy - Camera Usage Description 사진 및 동영상 촬영 카메라 권한 Privacy - Microphone Usage Description 동영상 촬영 음성인식 권한 Privacy - Photo Library Usage Description 사진 동영상 첨부 사용권한
Privacy - Photo Library Additions Usage Description 사진 동영상 저장 사용권한
동영상을 스트리밍 할 수 있는 방법론은 다양하다. 구글을 검색하고 정리하고 다시 찾고 시도하고 해왔지만 결론은동영상을 HLS로 인코딩하고 그 파일을 AWS의 S3에 업로드하여 cloud front에 배포되고 Javascript를 이용해서 사용자의 웹브라우져에서 스트리밍하는 것이다.
이제부터 설명하는 플랫폼들의 UI와 기능은 2020년 12월 10일 기준으로 작성되어 차후 버전이 업데이트들 되면 다르게 작업해야할 수 있다는 점 주의해야 한다. 자세한 설명은 생략하고 실제 진행 과정만 작성한다. - AWS S3 : 파일 저장 공간이다. - AWS CloudFront : CDN 이다. - HLS : 스트리밍용 영상 파일이다. 애플이 만들었음. - video.js : 애플기기 외에 플레이 안되는 기기들이 있어서 이 비디오 플레이어 프레임워크를 써야한다.
버킷 이름입력,모든 퍼블릭 액세스 차단 해제(공개용 영상으로 할 예정이다) 하고 하단의 '버킷 만들기' 클릭
버킷 목록에서 생성한 버킷으로 들어가서 '업로드'를 클릭한다.
파일들을 선택하고 모든 사람 객체 '읽기'에 체크한다. (HLS 영상은 .ts 파일과 인덱스 파일인 .m3u 파일로 존재하며 이 부분 AWS에서 인코딩하거나 여러 인코더들로 변환하면 된다. 다음 장에서aws trans coder를 이용해서 변환하는 방법을 기술할 예정이다.)
아까 Discribution 만들 때 "Comment: 자동 입력된 값 그냥 두면 됨 " 라고 한 곳에 들어있던 자동 입력Comment값이 목록에 보일 것이다.
그 Comment 의Amazon S3 Canonical User ID값을 복사한다.
다시 S3 의 버킷으로 돌아가서 '권한'탭의 '버킷 정책'을 '편집'을 눌러 아래 내용으로 수정한다.
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"CanonicalUser": "바로 위에서 복사한 Amazon S3 Canonical User ID"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::testuploadvod/*"
}
]
}
'변경 사항 저장'을 누르면 "CanonicalUser" 의 키와 값이 저장되고 나면 "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E16TH420ZUON0B" 이런 식으로 변경되어 반영되어 진다.
이제 cloudFront의 Distributions 으로 이동한다.
체크 박스를 선택하고 'Distribution Settings' 를 누르거나 바로 Distribusion의 ID를 클릭해서 해당 Distribution 상세 페이지로 이동한다.
상단의 'Behaviors' 탭을 클릭하고 체크박스로 선택 후 'Edit'를 눌러 수정 페이지로 진입한다.
Allowed HTTP Methods: GET, HEAD, OPTIONS
Cached HTTP Methods: GET, HEAD (Cached by default) OPTIONS 에 체크