Video Processing/Gstreamer

Gstreamer에 대해서

jinmc 2021. 1. 7. 14:08
반응형

참고: gstreamer공홈 : (영어) gstreamer.freedesktop.org/documentation/application-development/introduction/gstreamer.html?gi-language=python

 

Gstreamer란?

 

ffmpeg와 같이 영상을 encoding/decoding하고, streaming 하고, 등등 여러가지를 할 수 있게 해 주는 framework 입니다.

멀티미디아 프레임워크로서 Gstreamer는 미디어 플레이어를 만들 때 많이 쓰입니다. 하지만, 단지 미디어 플레이어를 만드는 것 이외에도, 유저가 플러그인들을 붙여서 애플리케이션을 만들 수 있게 해 줍니다.

 

ffmpeg와 다른 점은, ffmpeg는 여러 라이브러리들을 포함하는 큰 프로그램으로, 커맨드라인에서 바로 커맨드를 이용해서 사용하기엔 좋지만 플러그인들을 사용하여 애플리케이션을 만들기에는 적합하지 않고, 튜토리얼 등도 잘 되어 있지 않습니다.

참고 url (영어)  : www.quora.com/Multimedia-Which-is-better-FFmpeg-or-GStreamer-Why#:~:text=GStreamer%20is%20a%20broader%20library,operations%2C%20GStreamer%20is%20super%20powerful.

 

반면에, 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