The document for building gstreamer from source is not found. So, I decided to upload this document for beginners of gstreamer. Please DO NOT take this document SERIOUSLY : ) It might have some mistakes, cause I'm a newbie as you.
I had tried to install all kind of build tools with source build and installation. And I realized it was stupid things that waste my priceless time.
- XCODE install on terminal
- xcode-select --install
- Brew install on terminal
- ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- brew install pkg-config
- brew install automake
- brew install autoconf
- brew install bison
- brew link bison --force (if system-default bison is found on running)
- brew link --force gettext
- brew install m4 (I'm not sure it's necessary)
Gstreamer consists of several important modules. I picked up below modules by instinct : ) gstreamer-1.6.1, gst-plugins-base-1.6.1, gst-libav-1.6.1, gst-plugins-good-1.6.1 in http://gstreamer.freedesktop.org/src/
All you need is './autogen.sh'. But,
configure: error: You need to have gtk-doc >= 1.12 installed to build GStreamer configure failed
brew install gtk-doc (before running it.. please read below)
I/O error : Attempt to load network entity http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" compilation error: file /usr/local/Cellar/gtk-doc/1.24/share/gtk-doc/data/gtk-doc.xsl line 10 element import xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl make[5]: *** [html-build.stamp] Error 5 make[4]: *** [all] Error 2 make[3]: *** [gst] Error 2 make[2]: *** [all] Error 2 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2
I don't think these documentation are not needed, cause I'm 24 hours on the line. So, autogen.sh is modified. 49, 53 lines.
-- CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-gtk-doc'
++ CONFIGURE_DEF_OPT='--enable-maintainer-mode --disable-gtk-doc'
-- CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --enable-docbook --enable-failing-tests --enable-poisoning"
++ CONFIGURE_DEF_OPT="$CONFIGURE_DEF_OPT --disable-docbook --enable-failing-tests --enable-poisoning"
./autogen.sh again and make !
make install (sudo might be needed)
##gst-plugins-base-1.6.1 ./autogen.sh --disable-gtk-doc (instead of editing autogen.sh)
configure: *** Orc acceleration disabled. Requires Orc >= 0.4.23, which was not found. Slower code paths will be used.
'Slower' seems disaster, so just type 'brew install Orc' for resolving.
./autogen.sh --disable-gtk-doc and make make make install (sudo might be needed)
##gst-libav-1.6.1 ./autogen.sh --disable-gtk-doc again!
yasm/nasm not found or too old. Use --disable-yasm for a crippled build.
which seems important module. So, just have 'brew install yasm'.
make and make install (sudo might be needed!)
##gst-plugins-good-1.6.1 ./autogen.sh --disable-gtk-doc again!... : ) make and make install without errors. However, playbin2 with http source is not working due to lack of http element. So, I had 'brew install libsoup' and re-start from autogen.sh
#Finally !!! Please have below command on terminal.
gst-launch-1.0 playbin uri=http://media.w3.org/2010/05/sintel/trailer.mp4 You might see the greatest SINTEL movie.
Successfully compiled
gstreamer
but failed ongst-plugins-base
for1.17
lane.Error