안녕하세요.

오늘은 GStreamer에 대하여 간략하게 적어보겠습니다.

Gstreamer의 개발 프레임워크는 모든 유형의 스트리밍 어플리케이션을 개발 가능하게 해줍니다.

GStreamer 프레임워크는 오디오와 비디오를 처리하기 쉽게 만들기 위해 설계 되었습니다.

GStreamer 는 오디오나 비디오에 제한을 두지 않고, 모든 종류의 데이터 흐름도 처리할 수 있습니다.

GStreamer를 사용하는 목적은 미디어 플레이어를 만들기 위함입니다. 

GStreamer로 MP3, Ogg/Vorbis, MPEG1/2, AVI, Quicktime, mod등과 같은 다양한 포맷을 지원하는 미디어 플레이어를 만들 수 있으며 여러 컴포넌트를 포함하고 있습니다. 

Gstreamer는 다른 미디어 플레이어보다 많은 컴포넌트를 지원합니다.

GStreamer 이점은 플러그인이 가능한 컴포넌트는 임의적인 파이프라인으로 믹스/매치 할 수 있고, 이러한 조합을 통해 비디오/오디오 편집 애플리케이션을 작성할 수 있게 해줍니다. 

GStreamer의 프레임워크는 다양한 코덱과 기능을 제공하는 프러그인을 기반으로 합니다. 

플러그인은 파이프라인으로 연결 혹은 나열 됩니다. 

파이프라인은 데이터의 흐름을 정의합니다.

파이프라인은 GUI 에티터를 편집하여 XML 파일로 저장할 수 있어 간단히 파이프라인인 라이브러리를 만들 수 있습니다. 

GStreamer의 핵심 기능은 플러그인, 데이터흐름, 미디어 타입 핸들링을 할수 있는 프레임 워크를 제공합니다. 

또한, 다양한 플러그인을 사용하여 어플리케이션을 만들 수 있는 API를 제공합나다. 

구체적으로 GStreamer는 하기의 사항들을 제공합니다. 

- 멀티미이더 어플리케이션을 위한 API
- 플러그인 아키텍처
- 파이프라인 아키텍쳐
- 미디어 타입 핸들링을 위한 메카니즘
- 동기화를 위한 메커니즘
- 250개 이상의 플러그인이 제공하는 1000개 이상의 엘리먼트

GStreamer의 플러그인은 하기와 같이 구분됩니다.

- 프로토콜 핸들링
- 소스 : 오디오/비디오를 위한 (프로토콜 플러그인과 연관됨)
- 포맷들 : 파서, 포맷터, 먹서, 디먹서, 메타 데이터, 자막
- 코덱 : 코덱과 디코더
- 필터 : 컨버터, 믹서, 효과 등
- 싱크 : 오디오와 비디오를 위한 (프로토콜 플러그인과 연관됨)

GStreamer 의 패키지 리스트

- gtreamer             : 핵심 패키지
- gst-plugins-base : 핵심적인 엘리먼트의 집합
- gst-plugins-good: LGPL을 따르는 양질의 플러그인 집합
- gst-plugins-ugly  : 배포 문제를 야기할 수 있는 플러그인 집합
- gst-pluins-bad    :  
- gst-libav               : 디코딩과 인코딩을 위해 libav 플러그인 집합

이것저것 써있지만!

"미디어 플레이어를 제작하기 위해 사용하면 좋다!" 가 결론입니다^^