본문 바로가기
프로그래밍/GLibㆍGTKㆍGstreamer

GSTShark 로 Gst-reamer pipeline 프로파일링

by makepluscode 2022. 5. 30.
반응형

우분투 18.04 에서 GSTShark 사용하기

GstShark는 Ridgerun Engineering의 오픈 소스로 GSTREAMER 파이프라인을 프로파일링할 수 있는 도구 이다.

GSTShark 설치하고 사용하기

GSTShark 설치

우분투 18.04 에서 GSTShark 를 설치한다. GstShark는 GStreamer 1.7.1 에 추가되었다. 우분투에 설치된 GStreamer 의 버전을 확인한다. 현재, 우분투 18.04 의 gst-launch-1.0 의 버전은 1.14.5 이다.

$ gst-launch-1.0 --version
gst-launch-1.0 version 1.14.5
GStreamer 1.14.5
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0

터미널에서 apt 명령어로 libgstreamer1.0 을 추가로 설치한다.

$ sudo apt install libgstreamer1.0-dev

GSTShark 분석결과를 시각화 하기 위한 Graphviz 도구를 설치한다.

$ sudo apt install graphviz libgraphviz-dev

 

GSTShark 분석결과를 파싱하거나 저장하기 위한 도구들을 설치한다.

$ sudo apt install octave epstool babeltrace

GSTShark 빌드하기

터미널에서 git 를 복제하고 make 를 수행한다.

$ git clone https://github.com/RidgeRun/gst-shark/
$ cd gst-shark/
$ ./autogen.sh --prefix /usr/ --libdir /usr/lib/x86_64-linux-gnu/
$ make
$ sudo make install

GSTShark 실행하기 (예)

GSTShark 가 정상적으로 설치되어 있는지 확인하기 위해 간단한 예제를 실행한다. (proctime)

$ cd gst-shark/scripts/graphics
$ GST_DEBUG="GST_TRACER:7" GST_TRACERS="proctime" \
	gst-launch-1.0 videotestsrc num-buffers=10000 ! \
	'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=(fraction)30/1' \
	! videorate max-rate=30 ! videoconvert ! queue ! avenc_h263p ! queue ! avimux ! fakesink

이 예제는 videotestsrc 10000 프레임 입력을 비디오로 encoding 하는 예제 이다. gst-launch 실행 시, 환경변수를 추가하면 GSTShark 를 위한 로그가 gstshark_날짜_시간 디렉토리에 생성되고 저장된다. gstshark-plot 를 이용하여 pdf 로 저장한다.

$ ./gstshark-plot gstshark_2022-05-30_19\:16\:42/ -s pdf

저장된 pdf 를 열면 다음과 같이 각 플러그인 별로 처리된 시간을 그래프로 볼 수 있다.

 

참고자료

https://developer.ridgerun.com/wiki/index.php/GstShark_-_Getting_Started

 

GstShark - Getting Started

Learn more about GstShark, an open-source benchmarking and profiling tool for GStreamer pipelines from RidgeRun.

developer.ridgerun.com

https://developer.ridgerun.com/wiki/index.php/GstShark_-_Example:_Processing_time

 

GstShark - Example: Processing time

Learn more about GstShark, an open-source benchmarking and profiling tool for GStreamer pipelines from RidgeRun.

developer.ridgerun.com

반응형