참고: gstreamer공홈 : (영어) gstreamer.freedesktop.org/documentation/application-development/introduction/gstreamer.html?gi-language=python
Gstreamer란?
ffmpeg와 같이 영상을 encoding/decoding하고, streaming 하고, 등등 여러가지를 할 수 있게 해 주는 framework 입니다.
멀티미디아 프레임워크로서 Gstreamer는 미디어 플레이어를 만들 때 많이 쓰입니다. 하지만, 단지 미디어 플레이어를 만드는 것 이외에도, 유저가 플러그인들을 붙여서 애플리케이션을 만들 수 있게 해 줍니다.
ffmpeg와 다른 점은, ffmpeg는 여러 라이브러리들을 포함하는 큰 프로그램으로, 커맨드라인에서 바로 커맨드를 이용해서 사용하기엔 좋지만 플러그인들을 사용하여 애플리케이션을 만들기에는 적합하지 않고, 튜토리얼 등도 잘 되어 있지 않습니다.
반면에, gstreamer는 pipeline을 중심으로 한 프레임워크이기 때문에, 플러그인을 중심으로 사용자의 편의에 맞춰서 개발이 가능합니다.
다음은, gstreamer에 관련된 패키지들 입니다.
-
gstreamer: the core package
-
gst-plugins-base: an essential exemplary set of elements
-
gst-plugins-good: a set of good-quality plug-ins under LGPL
-
gst-plugins-ugly: a set of good-quality plug-ins that might pose distribution problems
-
gst-plugins-bad: a set of plug-ins that need more quality
-
gst-libav: a set of plug-ins that wrap libav for decoding and encoding
-
a few others packages
다른 특징들로는,
GObject, GLib 2.0에 기반을 두고 있으며, 기본적으로 Object Oriented 기반의 framework이며,
binary기반의 플러그인들을 붙여서 사용하는 방식을 사용합니다.
'Video Processing > Gstreamer' 카테고리의 다른 글
Gstreamer 기본 구성 요소들 (0) | 2021.01.08 |
---|