GStreamer는 스트리밍 미디어 애플리케이션을 생성하기 위한 프레임워크입니다. 기본 설계는 Oregon Graduate 연구소의 비디오 파이프라인에서 나온 것이며, DirectShow의 몇 가지 아이디어도 포함하고 있습니다.
GStreamer의 개발 프레임워크를 사용하면 어떤 종류의 스트리밍 멀티미디어 애플리케이션도 작성할 수 있습니다. GStreamer 프레임워크는 오디오나 비디오 또는 둘 다를 처리하는 애플리케이션을 쉽게 작성할 수 있도록 설계 되었습니다. 오디오 및 비디오에 제한되지 않고 모든 종류의 데이터 흐름을 처리할 수 있습니다. 파이프라인 설계는 적용된 필터가 유발하는 오버헤드를 최소화 하도록 만들어졌습니다. 이로 인해 GStreamer는 latency가 많이 요구되는 고급 오디오 응용 프로그램을 설계하기에도 좋은 프레임워크가 됩니다.
GStreamer의 가장 명백한 사용 사례 중 하나는 미디어 플레이어를 구축하는 데 사용하는 것입니다. GStreamer는 이미 MP3, Ogg/Vorbis, MPEG-1/2, AVI, Quicktime, 그리고 mod 등을 포함한 매우 다양한 형식을 지원할 수 있는 미디어 플레이어를 구축하는 데 필요한 구성 요소를 포함하고 있습니다. 그러나 GStreamer는 단순한 미디어 플레이어 그 이상 입니다. 그 주요 장점은 플러그 가능한 구성 요소를 임의의 파이프라인으로 혼합하고 일치시킬 수 있기 때문에 완전한 비디오 또는 오디오 편집 애플리케이션을 작성할 수 있다는 것입니다.
이 프레임워크는 다양한 코덱 및 기타 기능을 제공하는 플러그인을 기반으로 합니다. 플러그인은 파이프라인으로 연결되고 배열될 수 있습니다. 이 파이프라인은 데이터의 흐름을 정의합니다. 파이프라인은 GUI 편집기로 편집하고 XML로 저장하여 최소한의 노력으로 파이프라인 라이브러리를 만들 수 있습니다.
GStreamer의 핵심 기능은 플러그인, 데이터 흐름 및 미디어 유형 처리/협상을 제공하는 것입니다. 또한 다양한 플러그인을 사용하여 애플리케이션을 작성하는 API를 제공합니다.
구체적으로, GStreamer는 다음을 제공합니다.
- 멀티미디어 애플리케이션용 API
- 플러그인 아키텍처
- 파이프라인 아키텍처
- 미디어 유형 처리/협상 메커니즘
- 동기화 메커니즘
- 1000개 이상의 element를 제공하는 250개 이상의 플러그인
- 일련의 도구들
GStreamer 플러그인은 다음과 같이 분류할 수 있습니다.
- 프로토콜 처리
- sources: for audio and video (involves protocol plugins)
- formats: parsers, formaters, muxers, demuxers, metadata, subtitles
- codecs: coders and decoders
- filters: converters, mixers, effects, ...
- sinks: for audio and video (involves protocol plugins)
What is GStreamer?
What is GStreamer? GStreamer is a framework for creating streaming media applications. The fundamental design comes from the video pipeline at Oregon Graduate Institute, as well as some ideas from DirectShow. GStreamer's development framework makes it poss
gstreamer.freedesktop.org
'IT와 개발 > GStreamer Study' 카테고리의 다른 글
Elements (0) | 2024.04.05 |
---|---|
GStreamer 초기화 (0) | 2024.03.29 |
Application Development Manual: Foundations (1) | 2024.03.22 |
디자인 원칙 (0) | 2024.03.20 |
GStreamer 스터디 내용을 정리 합니다. (0) | 2024.03.17 |