Gstreamer라는 멀티미디어 프레임워크

4876 단어 LinuxWindowsgstreamer

도대체 Gstreamer가 뭐예요?


공식: http://gstreamer.freedesktop.org/
Gstreamer는 멀티미디어 응용 개발용 프레임워크입니다.
예를 들어 영상의 스트리밍 발표, 여러 영상의 합성, 음악의 가라오케화 등 다양한 일을 할 수 있다.

어차피 리눅스에서만 움직일 수 있는 거죠?


그런 일 없습니다.현재 Gstreamer는 Linux, Android, Windows, Mac OS X, iOS를 실행하고 있습니다...잠깐만요.
Raspberry Pi,Armadillo-800 등 리눅스를 타는 삽입식판도 이동할 수 있다는 것을 아실 수 있습니다.
또 플랫폼 의존 부분이 예쁘게 분리됐기 때문에 애초 PC로 개발한 뒤 ARM 보드와 안드로이드 앱에 접속할 수 있었다.

Gstreamer가 제공하는 것


Gstreamer가 제공하는 범위는 파란색 부분입니다.
  • an API for multimedia applications
  • a plugin architecture
  • a pipeline architecture
  • a mechanism for media type handling/negotiation
  • a mechanism for synchronization
  • over 250 plug-ins providing more than 1000 elements
  • a set of tools
  • 여기서 주의해야 할 것은 Gstreamer가 Piperline architecture를 제공하고 1천개 이상의 요소를 준비했다는 점이다.
    따라서 앱 개발자가 이 피퍼라인 architecture에 맞춰 일레멘트를 조합해 피플라인을 만들면 핵심 부분을 완성할 수 있다.
    Overview of available plug-ins에서 준비된 요소를 볼 수 있으니 원하는 기능이 있는지 확인해 보세요.
    물론 Element 자체 개발한 매뉴얼Plugin Writer's Guide도 준비했다.

    강력한 도구


    Gstreamer는 프로그램 라이브러리이지만 gst-launchgst-inspect 같은 도구를 준비했기 때문에 간단한 멀티미디어 응용 프로그램이라면 제로 인코딩입니다.를 참고하십시오.
    예를 들어 음악 파일만 틀면 된다.
    $ gst-launch-1.0 filesrc location=music.mp3 ! decodebin ! audioconvert ! autoaudiosink
    
    도구gst-launch-1.0.filesrc,decodebin,audioconvert,autoaudiosink는 Plugin에 포함된 Element와 Bin,location=filesrc의 속성이다.
    Gstreamer에서 Element의 처리 결과|를 다음 Element에 전달하여 케이스에서 사용할 수 있도록 ! 명령의 처리 결과를 다음 Element에 전달합니다.
    참고로 Bin은 여러 개의 Element 통합 결과물을 의미합니다.
    자세한 내용은 다음과 같습니다. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-basics-bins.html
    gst-launch에 주어진 Element와 Bin을 찾으려면 참조Overview of available plug-ins 이외에 gst-inspect도 있다.
    filesrclocation 이외에 또 어떤 속성을 조사할 수 있습니까?
    $ gst-inspect-1.0 filesrc
    

    한번 해볼까요?


    Gstreamer의 설치는 매우 간단하다.Windows의 경우 프로그램을 설치할 수 있고, OS X의 경우brew는 설치할 수 있으며, Linux의 경우 각 패키지 관리자(app,yum,pacman 등)에서 설치할 수 있다.자세한 내용은 Installing GStreamer를 참조하십시오.
    Installing GStreamer | GStreamer documentation
    https://gstreamer.freedesktop.org/documentation/installing/index.html
    Gstreamer 설치가 완료되면 먼저 읽어보는 것이 좋습니다GStreamer Application Development Manual.
    그중Part 1. About GStreamer이 중요하다.설령 네가 gst-launch만 사용한다고 해도 읽어야 한다.
    Applicaiton Development Manual이 조금 지루해지면 자습서 Gstreamer를 몸으로 기억하세요.
    Basic tutorials를 통해 C 언어로 Gstreamer 응용 프로그램을 쓸 수 있습니다.

    총결산


    이 기사에서 소개하고 싶은 세 가지
  • Gstreamer가 여러 플랫폼에서 이동하는 멀티미디어 프레임워크
  • 공구가 충실하기 때문에 원형 제작이 매우 간단하다
  • 문서도 준비되어 있고 학습도 편리합니다
  • 이상, 끝까지 읽어주셔서 감사합니다!

    좋은 웹페이지 즐겨찾기