ffmpeg으로 미디어 플레이어를 만들기 전에 기본적인 미디어의 만들어지는 과정을 좀 대충 공부를 해야된다.



일단


Video Source -> Video Encoder -> Video Element

-> Muxer(Muxing)먹싱 작업 -> Media

Audio Source -> Audio Encoder -> Audio Element 




Muxing -> MultiPlexing의 약자 


1. 가공되지 않은 원본소리 (Video/Audio Source) -> Encoding 과정 -> 결과물(Video / Audio Elements)

* Encoder -> Encoder + Decoder = Codec(H.264, H.265 HEVC)

가공되지 않은 원본의 크기가 너무 크기 때문에 인코딩 과정을 거쳐야 한다. 


결과물이 나왔을 시에 (Elements) 결과물을 담기 위한 상자가 필요하다 = Container(.avi , .mkv, .ts 등등)


컨테이너 포맷과 코덱은 다른것이다. mp4에는 h.264를 권장 (컨테이너 = mp4 코덱 = h.264)


그럼 여기서 플레이어가 해주는일은 뭔가 


-> Video Element -> Video Decoder -> Video Source

Media -> Demuxer(Demuxing) 

-> Audio Element -> Audio Decoder -> Audio Source


1. 디먹싱 과정의 각각의 Elements들을 하나씩 꺼냄


2. 컨테이너(.mp4, avi 드에서 꺼낸) Elements을 디코더에 의해 디코딩 진행 -> 각각 원본 영상 및 소리로 변환


3. 이 단계에서 후처리 가능 (소리 보정 왜곡)


4. 영상과 소리를 시간에 맞게 잘 동기화하여서 화면 혹은 스피커로 출력 -> 소리시간에 맞추어 영상을 출력해주는 동기화 방법이 가장 많이 사용 된다.


이중 ffmpeeg 의 역할은 출력을 제외한 모든 과정 


을 뜻하게 된다. 




+ Recent posts