동영상 기본 지식
링크의 글들을 읽고 간단하게 정리하였다.
블로그보다 참조한 글을 읽는 것이 이해에 도움이 됨.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dbfan24&logNo=10128721121
https://m.blog.naver.com/dbfan24/10128720329
https://bradbury.tistory.com/211
http://wiki.gurubee.net/pages/viewpage.action?pageId=30966109
1. 동영상- 비디오(영상)+ 오디오(소리)
비디오를(영상+ 소리)로 설명하는 글도 있는데 우리는 비디오는 영상에만 해당된다고 치자.
2. 코덱의 역할( 인코딩, 디코딩)
- 원본 실제 보이는 영상, 소리( 아날로그)를 사이즈를 줄여 파일로 저장하는 역할 (인코딩)
- 비디오 파일, 오디오 파일을 코덱이 재생시킨다 (디코딩)
비디오 촬영 -> 비디오 코덱 B -> 인코딩된 비디오 파일 A
비디오 파일 A -> 비디오 코덱 B -> 비디오 재생
비디오 파일 A -> 비이오 코덱 C -> 비디오 재생 안됨 (B코덱으로 인코딩되었기 때문에)
오디오 녹음 -> 오디오 코덱 X -> 인코딩된 오디오 파일 Y
오디오 파일 Y -> 오디오 코덱 X -> 오디오 재생
오디오 파일 Y -> 오디오 코덱 Z -> 오디오 재생 안됨
기능에 맞게 세분화되어 여러가지 비디오 코덱, 오디오 코덱이 있다고 한다.
3. 동영상 컨테이너 포맷의 역할 - 비디오, 오디오 스트림을 단순히 묶는 역할 (동영상 파일 확장자)
오디오 파일, 비디오 파일들이 동영상 컨테이너에 담길때 스트림(오디오 스트림, 비디오 스트림)이라고 부르는 것 같다.
(블로그 참조- 스트림(Stream)은 데이터, 패킷, 비트 등 일련의 연속성을 갖는 흐름/데이터를 의미하는데 간단히 컨테이너가 가지고 있는 비디오, 오디오 데이터라 생각하면 된다.)
비디오, 오디오 스트림을 컨테이너에 담는 역할 (동영상 컨테이너를 그냥 오디오, 비디오를 보관하는 상자라고 보자)
주의!!!! 비디오와 오디오를 재생시키는 역할이 아님
각각의 오디오, 비디오 재생은 오디오 코덱, 비디오 코덱이 해줌
플레이어의 동영상 지원 포맷
만약 플레이어가 AVI 컨테이너를 지원한다는 한다면, 플레이어가 그 컨테이너에서 "비디오"와 "오디오"를 꺼낼수 있다는 말이지, 그안의 "비디오"와 "오디오"를 재생할 수 있다는 말이 아닙니다.
동영상 플레이어가 AVI 컨테이너를 지원한다.
AVI 동영상이 있다고 하자.
이 동영상 안에 비디오 코덱 A를 통해 인코딩된 비디오 파일, 오디오 코덱 X를 통해 인코딩된 오디오 파일이 있다고하면
동영상 플레이어가 AVI 컨테이너를 지원해도 동영상 플레이어에 코덱 A, X 둘중 하나라도 지원하지 않으면 문제가 된다.
컴퓨터나 모바일 디바이스 자체에도 코덱이 없으면 재생이 제대로 안된다 할 수 있겠다.
즉 어떤 동영상을 재생시킬 때 재생이 되는지 안되는지는
동영상 파일이 어떤 컨테이너 포맷을 사용하는지
동영상 파일 내부의 오디오, 비디오는 어떤 코덱을 사용했는지
동영상 플레이어에 어떤 컨테이너 포맷, 코덱( 비디오 or 오디오)를 지원하는지
디바이스( pc, 모바일 디바이스 등 기기 디바이스) 에 코덱들이 있는지에 달렸다.
(블로그 참조)
그렇기에 동영상 재생에러에 대해 물어보게 된다면, 최소한 다음 4가지 항목은 꼭 적어야만 됩니다.
컨테이너 포맷(또는 확장자)
비디오 코덱
오디오 코덱
사용한 미디어 플레이어