반응형
동영상
- 비디오+오디오 (영상+소리)
컨테이너
- 비디오 스트림과 오디오 스트림을 담아두는 상자 역할
- 컨테이너 포맷: 동영상 파일의 확장자를 가리키는 말
- Ex) AVI컨테이너(.avi), Matroska(.mkv, .mka), Quick time(.mov), Ogg(.ogm, .ogg, .ogv)
- 동영상의 확장자만 보아서는 컨테이너 안의 '비디오'와 '오디오'가 어떤 코덱으로 만들어졌는지 알 수 없다.
- 위 그림을 올바르게 설명하면: x264으로 인코딩된 비디오와 DTS으로 인코딩된 오디오가 mkv 컨테이너에 들어 있는 동영상
인코딩 (Encoding)
- 압축
- 원본 영상 데이터로부터 특정 동영상 코덱으로 변환하는 것
- 비디오 데이터를 인코딩(압축)하여 다른 위치로 효율적으로 전송할 수 있게 한다.
디코딩(Decoding)
- 압축 해제
- 특정 동영상 코덱을 사용하여 원본 영상 데이터를 얻는 것
- 압축된 데이터에서 원본 영상 데이터를 얻는 것
먹싱(Muxing, Multiplexing)
- 병합
- 비디오 데이터나 오디오 데이터를 컨테이너에 넣는 것
디먹싱(Demux, Demulipexing)
- 병합 해제
- 컨테이너에서 비디오, 오디오 스트림을 빼내는 것
- 컨테이너(확장자)에 따라 비디오 스트림과 오디오 스트림을 꺼내는 방식이 다르다.
미디어 인코딩/디코딩 파이프라인
- 카메라로부터 녹화(Record)를 하면 비디오 데이터와 오디오 데이터가 각각 나온다.
- 원본 데이터를 각각 특정 코덱으로 압축시킨다. (Encoding)
- 비디오 데이터와 오디오 데이터를 병합하여 컨테이너에 담는다. (Mux)
- 클라우드 서버에 데이터를 보낸다.
- 뷰어에서 데이터를 받아온다. (Fetch)
- 먼저 컨테이너에서 비디오, 오디오 코덱 정보를 알아내고 비디오, 오디오 스트림도 빼낸다. (Demux)
- 디먹싱 과정에서 알아낸 코덱 정보를 가지고 비디오, 오디오의 원본 데이터를 얻는다. (Decoding)
- 원본 데이터를 화면에 그려준다.(Render)
동영상 플레이
- Directshow-based Player
- 코덱: 멀티미디어(비디오,오디오파일)의 재생과 인코딩에 사용되는 소프트웨어
- 만약 플레이어가 avi, asf, mov, mkv, mpeg 컨테이너를 지원한다고 하면, 플레이어가 그 컨테이너에서 '비디오'와 '오디오'를 꺼낼 수 있다는 말이지, 그 안의 '비디오'와 '오디오'를 재생할 수 있다는 말이 아니다.
- 실제 재생은 컴퓨터에 설치된 '비디오 코덱'과 '오디오 코덱'이 수행한다.
- ex. '윈도우 미디어 플레이어'는 자신의 컴퓨터에 코덱이 설치되어야만 재생할 수 있다. (Directshow-based Player)
- Standalone Player
- 디코더 : 코덱에서 동영상 재생 능력만 떼어낸 소프트웨어
- 플레이어에 디코더가 내장되어 있다면, 자신의 컴퓨터에 코덱을 설치하지 않아도 동영상 재생이 가능하다.
- ex. 곰플레이어는 디코더를 내장한 미디어 플레이어다. (Standalone Player)
출처
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dbfan24&logNo=10128721121
반응형