2015. 7. 15. 09:59

FFMpeg 을 이용하여 프로그래밍 하기 위해서는 동영상 파일의 이해가 필요


출처 : http://aslike.egloos.com/3082696

  • 미디어 파일 : 플레이어에서 재생하기 위한 비디오/오디오 데이터를 가지고 있는 파일

  • 다음과 같은 과정으로 미디어 파일이 만들어짐


  • 2가지 과정이 필요
  1. Encoding : 원본 영상/소리를 압축

    1. Enconding을 하는 이유 : 원본 영상의 데이터 크기가 크기 때문

    2. Encoder : Encoding을 해주는 객체

  2. Muxing : 영상/소리 등 모든 파일을 하나로 합치는 작업

    1. 하나의 파일로 만들기 위해 영상, 소리, 자막등 여러 요소들을 하나로 합침


  • Container 포맷 : 모든 요소(영상, 음성, 자막등)들을 담는 하나의 포맷(상자)



  • 플레이어가 하는 일 : 하나로 합쳐져 있는 파일을 분리, 디코딩(압축 풀기)해서 출력


  • 2가지 과정이 필요
  1. Demuxing : 컨테이너 포맷(파일)을 열고 내용 확인

    1. 몇 종류의 요소가 들었나 확인(영상, 음성, 자막, 다채널 등)

    2. 각 요소마다 하나씩 꺼내서 디코딩 준비

  2. Decoding : 압축을 풀어서 원본 영상/소리로 변환

    1. Decoding 후원본 영상/소리를 가지고 후처리 작업 진행 가능
    2. 영상과 소리를 시간에 맞게 동기화 해서 출력


  • FFMpeg의 역할

    • 출력 이외의 위의 모든 역할을 함