개발하슈

FFMPEG 이란? 본문

기록

FFMPEG 이란?

하슈타인 2022. 1. 18. 18:29
  • FFmpeg는 디지털 음성 스트림과 영상 스트림에 대해 수많은 종류의 형태로 기록 및 저장을 해 주는 프로그램이다.
  • FFmpeg는 사용자가 명령어를 입력 받아 작동하는 소프트웨어로서 자유 소프트웨어와 오픈 소스 라이브러리로 구성되어 있다.
  • 여러 라이브러리 중 음성/영상 코덱 라이브러리인 libavcodec 도 들어있으며 libavformat이라는 음성/영상 다중화, 역다중화 라이브러리도 들어있으며 그밖에 멀티미디어 컨테이너의 Demuxer, Muxer 라이브러리, 입출력 장치 제어 라이브러리, 미디어필터, 오디오필터 처리 라이브러리 등이 들어있다.
  • 다음 팟 플레이어, 곰플레이어, MXPlayer 등 다수의 유명한 코덱 내장형 동영상 플레이어들이 FFmpeg의 libavcodec을 기반으로 하고 있다.
  • FFmpeg은 리눅스 기반으로 개발되었지만, 애플, 윈도, 아미가OS 등 대부분의 운영 체제에서 컴파일이 가능하다.
  • 그러한 이유로 다양한 운영체제에서 사용이 가능하다.
  • ffmpeg 내부 작동원리

 

 

 

 

 

 

 

 

 

 

 

 

  • FFmpeg (www.ffmpeg.org) 은 비디오, 오디오, 이미지를 쉽게 인코딩 (Encoding), 디코딩 (Decoding), 먹싱 (Muxing), 디먹싱 (Demuxing) 할 수 있도록 도움을 주는 멀티미디어 프레임워크이다.
  • 인코딩이란 우리가 문서의 용량을 줄이기 위하여 zip 프로그램 (예: 알집, 반디집, 빵집)을 사용해서 문서를 압축하는 것처럼 동영상이나 이미지의 용량을 줄이기 위해서 압축하는 과정을 의미한다.
  • 디코딩이란 zip으로 압축된 워드 문서를 보기 위해서 먼저 zip 프로그램을 압축을 해제해야 하는 것처럼, 압축된 동영상을 재생하기 위하여 압축을 해제하는 과정을 디코딩이라고 부른다.
  • 먹싱 (Muxing)이라는 단어는 여러 입력을 하나로 합치는 과정을 의미한다.
  • 디먹싱 (Demuxing)이라는 과정은 하나로 합쳐진 입력을 다시 여러 출력으로 만드는 것을 의미한다.
  • 예를 들어 여러분들이 PC에서 다운로드를 받아서 보는 동영상은 사실 여러 장의 정지 영상과 오디오가 하나의 파일로 (예: .avi, .mkv, *.mov) 먹싱되어 있는 것이다. 물론 먹싱되기 전에 정지 영상과 오디오는 각각 인코딩 과정을 통해서 압축이 되어 있는 상태이다.
  • 먹싱된 동영상을 재생하기 위해서는 인코딩, 먹싱 과정과 반대로 먼저 디먹싱을 통해서 압축된 정지 영상과 압축된 오디오로 분리한 후 각각의 데이터를 디코딩해야 한다.

 

 

'기록' 카테고리의 다른 글

FFMPEG 사용 방법  (1) 2022.01.22
osi 7 계층  (1) 2022.01.12
[에러] 파일 업로드 안될때  (1) 2022.01.07
서버(Server)와 클라이언트(Client) 개념  (0) 2021.12.10
[에러] Found a swap file by the name  (1) 2021.11.24