1. VirtualBox 에 ubuntu를 설치한다.

2. 다 설치한 후 VirtualBox의 편리한 작업을 위해서 VirtualBox의 게스트 확장을 설치한다.

- VirtualBox 메뉴의 [장치]->[게스트 확장 설치]를 클릭.

- 자동으로 마운트된 디렉토리로 이동 #cd /media/cdrom/

- 설치 프로그램 실행 #./autorun.sh

- 리부팅

3. ssh 와 samba를 설치한다.

- #apt-get install ssh

- #apt-get install samba smbfs

- 삼바의 편리한 설정을 위해서 제공된 smb.conf 파일을 /etc/samba/ 디렉토리에 카피하고

- 삼바를 재시작 한다. #/etc/init.d/samba restart

4. gstreamer를 다운로드 받고 압축을 푼다.

- #wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.25.tar.gz

- #tar xzf gstreamer-0.10.25.tar.gz

- #cd gstreamer-0.10.25

- #mkdir /root/gst (여기서 만든 /root/gst 디렉토리에 gstreamer를 설치할 것이다.)

- #./configure --prefix=/root/gst (prefix를 지정하지 않으면 default인 /usr/local로 지정 되어서 나중에 make install 했을 경우에 /usr/local에 인스톨 된다.

- 개발하기 위한 필수 유틸들이 설치되어 있지 않기 때문에 #./configure를 실행하면 에러가 발생한다. 다음을 실행하여 필수 유틸들을 설치하자.

- #sudo apt-get install build-essential (개발하기 위한 필수 유틸들)

- #sudo apt-get install libncurses5-dev (텍스트 환경에서의 GUI를 지원하는 라이브러리)

- #apt-get install liboil-dev

- #apt-get install libxml2-dev

- #apt-get install libglib2.0-dev

- #apt-get install flex

- #apt-get install bison

- #apt-get install check

- #apt-get install libgtk2.0-0 libgtk2.0-dev

- #apt-get install gtk-doc-tools

- 다 깔았으니 다시 한번 #./configure --prefix=/root/gst

- #make;make install

- #export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/gst/lib/pkgconfig

- 일단 gstreamer 의 설치는 완료 되었다.

5. gstreamer 의 plug-in을 설치해보자.

- 일단 base plug-in

- #cd..

- #wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.25.tar.gz

- #tar xzf gst-plugins-base-0.10.25.tar.gz

- #cd gst-plugins-base-0.10.25.tar.gz

- # cd gst-plugins-base-0.10.25

- 여기서도 추가로 필요한 패키지를 설치해야 한다.

- #apt-get install xorg-dev

- #apt-get install libasound2-dev

- #apt-get install libvisual-0.4-dev

- #apt-get install libogg-dev

- #apt-get install libpango*

- #apt-get install libcdparanoia0-dev

- #apt-get install libtheora-dev

- #apt-get install libvorbis-dev

- #apt-get install libgnome-vfsmm-2.6-dev

- 필요한 패키지를 다 설치했으므로 #./configure --prefix=/root/gst를 한다.

- #make;make install

- 다음은 good plug-in

- #wget http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.17.tar.gz

- #cd gst-plugins-good-0.10.17

- 이번에도 역시 good plug-in을 설치할 때 필요한 패키지를 설치 합니다.

- #apt-get install libjpeg62-dev

- #atp-get install libfuse-dev libflac-dev libwavpack-dev

- #./configure --prefix=/root/gst

- configure를 실행하고 나서 마지막에 나오는 메시지를 확인하고 필요한데 포함되지 않은 라이브러리가 있으면 해당 라이브러리를 설치해준 후에 다시 configure를 하면 된다.

- #make

- #make install

- 다음은 bad plug-in

- #wget http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.17.tar.gz

- #tar xzf gst-plugins-bad-0.10.17.tar.gz

- #./configure --prefix=/root/gst

- #make

- #make install

- 다음은 ugly plug-in

- #wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.13.tar.gz

- #tar xzf gst-plugins-ugly-0.10.13.tar.gz

- #apt-get install libid3tag0-dev

- #apt-get install libmad0-dev

- #apt-get install liba52*

- #apt-get install libmp3lame-dev

- #apt-get install mpeg2dec*

- #apt-get install libmpeg2-4-dev

- #apt-get install libx264-dev

- #apt-get install libtwolame-dev

- #apt-get install libcdio-cdda-dev

- #apt-get install libcdio-dev

- #apt-get install libbz2-dev

- #./configure --prefix=/root/gst

- #make

- #make install

- 다음은

- #wget http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.9.tar.gz

- #tar xzf gst-ffmpeg-0.10.9.tar.gz

- #./configure --prefix=/root/gst

- #make

- #make install

6. 샘플 실행해보기.

#export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/root/gst/lib/pkgconfig

#export PATH=$PATH:/root/gst/bin/

#export LD_LIBRARY_PATH=/root/gst/lib/

#export GST_PLUGIN_PATH=/root/gst/lib/gstreamer-0.10/

#export GST_PLUGIN_SYSTEM_PATH=/root/gst/lib/

 

시험용 sin파 재생

gst-launch audiotestsrc ! audioconvert ! audioresample ! alsasink

mp3 재생

gst-launch filesrc location="/root/sample/yunha.mp3" ! ffdemux_mp3 ! ffdec_mp3 ! alsasink

시험용 비디오 재생

gst-launch -v videotestsrc ! ximagesink

비디오 파일 재생 (비디오만)

gst-launch -v filesrc location="./h264_mp3_480x270.avi" ! avidemux ! ffdec_h264 ! ffmpegcolorspace ! ximagesink

비디오 파일 재생 (오디오만)

gst-launch -v filesrc location="./h264_mp3_480x270.avi" ! avidemux name=demux demux. ! queue ! ffdec_mp3 ! alsasink

그냥 다되게 하는거

gst-launch playbin uri=file:///root/sample/h264_mp3_480x270.avi

  추가

gst-python 설치하기.
#wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.17.tar.gz
#apt-get install python-all-dev
#apt-get install python-gtk2-dev
#./configure --prefix=/root/gst
#make
#make install




개발 환경 구축
■ Gtk+ 개발 관련 패키지 설치
먼저 Gtk+로 개발할 때 필요한 파일들이 포함된 libgtk2.0-dev 패키지(및 의존성 걸리는 패키지들)를 설치한다. 설치 후 다음 명령을 실행했을 때 아래와 같이 인클루드 경로와 링크 플래그가 나와야 한다. 이 정보는 gcc로 gtk+ 프로그램을 컴파일할 때 사용된다.

young@y0un5:~$ pkg-config --cflags --libs gtk+-2.0
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12  -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lgio-2.0 -lcairo -lpango-1.0 -lfreetype -lz -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 
young@y0un5:~$

Gtk+ 컴파일도 해보고 예제 참고도 할 겸, gtk2.0-examples 패키지도 설치한다. 이 패키지를 설치하면 /usr/share/doc/gtk2.0-examples/examples/에 예제 소스가 Makefile과 함께 설치된다. /usr/share/doc/gtk2.0-examples/examples/helloworld$에 helloworld.c 소스 파일이 있다. make를 실행하면 문제 없이 컴파일 되어야 한다(디렉토리 쓰기 권한이 root로 되어 있다는 것에 주의). Makefile을 열어 보면 pkg-config로 얻은 정보가 컴파일 시 사용되는 것을 볼 수 있다.

young@y0un5:/usr/share/doc/gtk2.0-examples/examples/helloworld$ cat Makefile

CC = gcc

CFLAGS = -Wall                 \
    -DG_DISABLE_DEPRECATED          \
    -DGDK_DISABLE_DEPRECATED     \
    -DGDK_PIXBUF_DISABLE_DEPRECATED \
    -DGTK_DISABLE_DEPRECATED

helloworld: helloworld.c
    $(CC) helloworld.c -o helloworld $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs`

clean:
    rm -f *.o helloworld
young@y0un5:/usr/share/doc/gtk2.0-examples/examples/helloworld$

vim 플러그인 gtk-vim-syntax도 설치하면 vim으로 작업하기 편하다. 당분간은 에디터로 vim을 쓸 것이기 때문에 이 플러그인도 설치하는 게 좋다. 설치 방법은 간단하다. 파일을 다운 받아 "~/.vim/after/syntax/"에 압축을 푼 후 c.vim.example 파일을 c.vim으로 변경하면 된다.

■ GStreamer 개발 패키지 설치
스트리밍 재생 기능을 구현하기 위해 GStreamer 개발 패키지를 설치한다. libgstreamer0.10-dev 패키지를 설치하고 이번에도 pkg-config를 실행하여 그 결과를 확인해 본다.

young@y0un5:~$ pkg-config --cflags --libs gstreamer-0.10
-pthread -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2  -pthread -lgstreamer-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lxml2 -lglib-2.0 
young@y0un5:~$

GStreamer 튜토리얼 사이트에 나온 helloworld 예제가 제대로 컴파일 되고 실행되는 지 확인해 본다.

young@y0un5:~$ gcc helloworld.c -o helloworld `pkg-config --cflags --libs gstreamer-0.10`

■ libsoup 개발 패키지 설치
사실 이 라이브러리는 온에어 방송을 듣는 데 필요 없지만 kbs는 사이트 로그인 후에만 스트리밍 재생이 되도록 되어 있기 때문에 HTTP 클라이언트 기능이 있어야 한다. HTTP 클라이언트 라이브러리로 libsoup를 택한 것은 별 다른 이유는 없고 GNOME Development Reference 사이트에 나와 있어서 그냥 쓰기로 했다. libsoup2.4-dev 패키지를 설치하고 역시 pkg-config를 실행하여 제대로 나오는 지 확인해 본다.

이제 IDE를 제외한 개발 환경은 모두 구축되었다. Anjuta IDE는 나중에 GUI를 만들 때 설치하기로 하고, 이제 Gtk+, GStreamer, libsoup를 공부해야 할 시간이다.

※ 참고 사이트


Posted by Real_G