FFMPEG 알아보기

    FFMPEG 알아보기





    이번 포스팅에서는 ffmpeg 알아보도록 하겠습니다.







     인코딩와 디코딩 그리고 코덱



    1. 인코딩 : 영상 신호를 디지털 신호로 변환



    우리는 파일의 크기를 줄이기 위해 알집, 반디집 등등을 이용하여 파일을 축소 시켜 용량을 줄이는 것을 압축 이라고 합니다 반대로 동영상은 일반 문서와 속성이 달라서 전용 압축 알고리즘을 사용하고 동영상 재생에 사용되는 인코더를 이용해서 압축하는 것을 의미합니다




    2. 디코딩 : 디지털 신호를 영상으로 변환




    우리는 압축된 파일을 파일을 압축을 해제하는 것과 같이 압축되어 있는 동영상을 재생하기 위한 압축을 해제하는 과정을 의미합니다 그러나 일반 압축된 처럼 압축을 해제한 후에 파일을 여는 것이 아닌 미디어 플레이어(곰플레이어, 팟플레어 . . .)들은 내부적으로 압축을 해제하고 압축이 해제된 영상 및 오디오 데이터를 재생 프로그램에서 직접 재생하게 됩니다



    3. 코덱




    인코딩과 디코딩을 할 수 있는 소프트웨어를 코덱(Codec)이라고 표현하며 코더(Coder)와 디코더(Decoder)의 앞글자를 조합하여 만들어 졌습니다




    3. 통합코덱과 내장코덱



    미디어 파일을 재생하는데 필요한 코덱이 없으면 재생을 못하며 미디어 파일에 맞는 코덱이 따로 찾아서 설치해야 되었습니다 하지만 코덱의 종류가 너무 많기에 하나로 통합한 통합코덱으로 코덱 모음집을 만들었으며 내장코덱은 미디어 플레이어에서 자주 사용되는 코덱을 포함하여 재생 시키는 방식으로 이어지게 됩니다


    현재 가장 많이 쓰는 FFMPEG이 가장 많이 사용되는 코덱이며 대부분의 모든 영상이 FFMPEG을 사용합니다






     FFMPEG 은 무엇인가?


    FFMPEG은 비디오/오디오 파일에 인코딩, 디코딩, 트랜스코딩 등등 조작하여 누구나 간단하게 사용할 수 있는 오픈소스로 제공되고 있습니다 FFMPEG은 인코딩, 디코딩 관련으로는 전세계 표준이라고 할 수 있을 정도로 많이 사용되고 있습니다




    위 그림의 플레이어 외에도 더 있지만 우리의 생활 속에 대부분의 영상 실행 프로그램 중에서 FFMPEG을 기반을 하고 있습니다. 또한 우리가 이용하고 있는 곰인코더, 다음팟인코더 등등 도 FFMPEG 기반 입니다








     FFMPEG 기능


    FFMPEG 은 오디오, 비디오, 스트리밍 등등 오픈소스로 많은 기능들을 제공하고 있습니다


    1. FFMPEG : 비디오 파일을 변환을 지원합니다


    2. FFSERVER : 동영상 스트리밍 서버 기능을 지원합니다


    3. LIBAVCODEC : 영상 데이터와 음성 데이터 인코딩과 디코딩을 지원합니다


    4. LIBAVDEVICE : 입/출력 장치 제어 라이브러리 지원합니다

    Posted by 서버이야기