Last active
          April 4, 2025 14:53 
        
      - 
      
- 
        Save Brainiarc7/9f9b3de1246c0316f2a273c80841cadc to your computer and use it in GitHub Desktop. 
Revisions
- 
        Brainiarc7 revised this gist Jan 6, 2017 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -146,8 +146,8 @@ To build python bindings: cd gst-python module load gstreamer/git git pull ./autogen.sh ./configure --prefix=/apps/gstreamer/git time make -j$(nproc) sudo make install cd .. 
- 
        Brainiarc7 revised this gist Jan 6, 2017 . 1 changed file with 10 additions and 1 deletion.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -172,9 +172,18 @@ For the main gstreamer modulefile: ------------------------------------------------------------------- **Content:** #%Module1.0 ##################################################################### ## ## gstreamer Modulefile ## by Dennis Mungai on December 30 2016 ## ## ## ## ## set appname gstreamer set version git set prefix /apps/${appname}/${version}/ 
- 
        Brainiarc7 revised this gist Jan 6, 2017 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,9 +7,9 @@ Install build dependencies: **Extras:** sudo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev Additionally, if you do not configure with -qt-xcb (for QT only with gstreamer), you should also install these development packages: 
- 
        Brainiarc7 revised this gist Jan 6, 2017 . 1 changed file with 8 additions and 0 deletions.There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -59,8 +59,16 @@ Prepare the target directories where the binaries will reside: Write an initial module file for gstreamer, to be expanded on completion when dependencies are built: #%Module1.0 ##################################################################### ## ## gstreamer Modulefile ## by Dennis Mungai on December 30 2016 ## ## Locally built package ## ## Target: QT5 ## set appname gstreamer set version git set prefix /apps/${appname}/${version}/ 
- 
        Brainiarc7 created this gist Jan 5, 2017 .There are no files selected for viewingThis file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,417 @@ Build gstreamer from source (git checkouts): -------------------------------------------- Install build dependencies: sudo apt-get install gtk-doc-tools liborc-0.4-0 liborc-0.4-dev libvorbis-dev libcdparanoia-dev libcdparanoia0 cdparanoia libvisual-0.4-0 libvisual-0.4-dev libvisual-0.4-plugins libvisual-projectm vorbis-tools vorbisgain libopus-dev libopus-doc libopus0 libopusfile-dev libopusfile0 libtheora-bin libtheora-dev libtheora-doc libvpx-dev libvpx-doc libvpx3 libqt5gstreamer-1.0-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libflac++-dev libavc1394-dev libraw1394-dev libraw1394-tools libraw1394-doc libraw1394-tools libtag1-dev libtagc0-dev libwavpack-dev wavpack **Extras:** s udo apt-get install libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-glx0-dev Additionally, if you do not configure with -qt-xcb (for QT only with gstreamer), you should also install these development packages: sudo apt-get install libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev Some of these packages depend on others in this list, so installing one may cause others to be automatically installed. Other distributions may provide system packages with similar names. Basic Qt dependencies: sudo apt-get install libfontconfig1-dev libdbus-1-dev libfreetype6-dev libudev-dev Dependencies for multimedia: sudo apt-get install libasound2-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools gstreamer0.10-plugins-good gstreamer0.10-plugins-bad QtWebKit dependencies: sudo apt-get install libicu-dev libsqlite3-dev libxslt1-dev libssl-dev Navigate to the source directory needed for the build: Check out the sources, one by one: git clone git://anongit.freedesktop.org/git/gstreamer/gstreamer git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-base git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-good git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad git clone git://anongit.freedesktop.org/git/gstreamer/gst-plugins-ugly git clone git://anongit.freedesktop.org/git/gstreamer/gst-libav git clone git://anongit.freedesktop.org/git/gstreamer/gst-python git clone https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi Prepare the target directories where the binaries will reside: sudo mkdir -p /apps/gstreamer/git sudo mkdir -p /apps/gst-plugins-base/git sudo mkdir -p /apps/gst-plugins-good/git sudo mkdir -p /apps/gst-plugins-bad/git sudo mkdir -p /apps/gst-plugins-ugly/git sudo mkdir -p /apps/gst-libav/git sudo mkdir -p /apps/gst-python/git sudo mkdir -p /apps/gstreamer-vaapi/git Write an initial module file for gstreamer, to be expanded on completion when dependencies are built: ## by Dennis Mungai on December 30 2016 ## set appname gstreamer set version git set prefix /apps/${appname}/${version}/ set url "https://gstreamer.freedesktop.org/" set msg "This module adds gstreamer v$version to various paths\n\nGstreamer Official Site: $url\n" proc ModulesHelp { } { puts stderr "$msg" } module-whatis "$msg" conflict gstreamer prepend-path PATH ${prefix}/bin prepend-path LD_LIBRARY_PATH ${prefix}/lib prepend-path PKG_CONFIG_PATH ${prefix}lib/pkgconfig Now, to build: Check out all sources above and navigate to each build directory: cd gstreamer git pull ./autogen.sh ./configure --prefix=/apps/gstreamer/git --enable-gtk-doc time make -j$(nproc) sudo make install cd .. cd gst-plugins-base git pull module load gstreamer/git ./autogen.sh --prefix=/apps/gst-plugins-base/git --enable-gtk-doc --enable-iso-codes --enable-orc time make -j$(nproc) sudo make install cd .. cd gst-plugins-good git pull module load gstreamer/git ./autogen.sh --prefix=/apps/gst-plugins-good/git --enable-gtk-doc --enable-orc time make -j$(nproc) sudo make install cd .. cd gst-plugins-ugly git pull ./autogen.sh --prefix=/apps/gst-plugins-ugly/git --enable-gtk-doc --enable-orc time make -j$(nproc) sudo make install cd .. cd gst-libav git pull ./autogen.sh --prefix=/apps/gst-libav/git --enable-gtk-doc --enable-orc time make -j$(nproc) sudo make install cd .. cd gst-plugins-bad git pull ./autogen.sh --prefix=/apps/gst-plugins-bad/git --enable-gtk-doc --enable-orc --with-cuda-prefix=/usr/local/cuda time make -j$(nproc) sudo make install cd .. To build python bindings: cd gst-python module load gstreamer/git git pull PYTHON=/usr/bin/python2 ./autogen.sh PYTHON=/usr/bin/python2 ./configure --prefix=/apps/gstreamer/git time make -j$(nproc) sudo make install cd .. **Create all modules for the installed packages:** For the main gstreamer modulefile: module show gstreamer/git ------------------------------------------------------------------- /usr/share/modules/modulefiles/gstreamer/git: module-whatis This module adds gstreamer vgit to various paths Gstreamer Official Site: https://gstreamer.freedesktop.org/ conflict gstreamer prepend-path PATH /apps/gstreamer/git//bin prepend-path LD_LIBRARY_PATH /apps/gstreamer/git//lib prepend-path PKG_CONFIG_PATH /apps/gstreamer/git/lib/pkgconfig ------------------------------------------------------------------- **Content:** ## by Dennis Mungai on December 30 2016 ## set appname gstreamer set version git set prefix /apps/${appname}/${version}/ set url "https://gstreamer.freedesktop.org/" set msg "This module adds gstreamer v$version to various paths\n\nGstreamer Official Site: $url\n" proc ModulesHelp { } { puts stderr "$msg" } module-whatis "$msg" conflict gstreamer prepend-path PATH ${prefix}/bin prepend-path LD_LIBRARY_PATH ${prefix}/lib prepend-path PKG_CONFIG_PATH ${prefix}lib/pkgconfig #No conflict needed, omit it here. # Make sure gstreamer-plugins-base/git is loaded # This was compiled against gstreamer-plugins-base/git if { ![is-loaded gstreamer-plugins-base/git] } { module load gstreamer-plugins-base/git } # Make sure gstreamer-plugins-good/git is loaded # This was compiled against gstreamer-plugins-good/git if { ![is-loaded gstreamer-plugins-good/git] } { module load gstreamer-plugins-good/git } # Make sure gstreamer-plugins-ugly/git is loaded # This was compiled against gstreamer-plugins-ugly/git if { ![is-loaded gstreamer-plugins-ugly/git] } { module load gstreamer-plugins-ugly/git } # Make sure gstreamer-plugins-ugly/git is loaded # This requires gstreamer-plugins-ugly/git if { ![is-loaded gstreamer-plugins-ugly/git] } { module load gstreamer-plugins-ugly/git } #Make sure gstreamer-libav/git is loaded #Some plugins require gstreamer-libav/git if { ![is-loaded gstreamer-libav/git] } { module load gstreamer-libav/git } **gstreamer-plugins-base/git modulefile:** module show gstreamer-plugins-base/git ------------------------------------------------------------------- /usr/share/modules/modulefiles/gstreamer-plugins-base/git: module-whatis This module adds gstreamer-plugins-base vgit to various paths Gstreamer Official Site: https://gstreamer.freedesktop.org/ prepend-path PATH /apps/gst-plugins-base/git//bin prepend-path LD_LIBRARY_PATH /apps/gst-plugins-base/git//lib prepend-path PKG_CONFIG_PATH /apps/gst-plugins-base/git/lib/pkgconfig ------------------------------------------------------------------- **Content:** #%Module1.0 ##################################################################### ## ## gstreamer-plugins-base Modulefile ## by Dennis Mungai on December 30 2016 ## set appname gst-plugins-base set version git set prefix /apps/${appname}/${version}/ set url "https://gstreamer.freedesktop.org/" set msg "This module adds gstreamer-plugins-base v$version to various paths\n\nGstreamer Official Site: $url\n" proc ModulesHelp { } { puts stderr "$msg" } module-whatis "$msg" #Omit plugins prepend-path PATH ${prefix}/bin prepend-path LD_LIBRARY_PATH ${prefix}/lib prepend-path PKG_CONFIG_PATH ${prefix}lib/pkgconfig **gstreamer-plugins-good/git modulefile:** module show gstreamer-plugins-good/git ------------------------------------------------------------------- /usr/share/modules/modulefiles/gstreamer-plugins-good/git: module-whatis This module adds gstreamer-plugins-good vgit to various paths Gstreamer Official Site: https://gstreamer.freedesktop.org/ prepend-path PATH /apps/gst-plugins-good/git//bin prepend-path LD_LIBRARY_PATH /apps/gst-plugins-good/git//lib prepend-path PKG_CONFIG_PATH /apps/gst-plugins-good/git/lib/pkgconfig ------------------------------------------------------------------- **Module content:** #%Module1.0 ##################################################################### ## ## gstreamer-plugins-good Modulefile ## by Dennis Mungai on December 30 2016 ## set appname gst-plugins-good set version git set prefix /apps/${appname}/${version}/ set url "https://gstreamer.freedesktop.org/" set msg "This module adds gstreamer-plugins-good v$version to various paths\n\nGstreamer Official Site: $url\n" proc ModulesHelp { } { puts stderr "$msg" } module-whatis "$msg" #No conflict needed prepend-path PATH ${prefix}/bin prepend-path LD_LIBRARY_PATH ${prefix}/lib prepend-path PKG_CONFIG_PATH ${prefix}lib/pkgconfig **gstreamer-plugins-ugly/git module:** module show gstreamer-plugins-ugly/git ------------------------------------------------------------------- /usr/share/modules/modulefiles/gstreamer-plugins-ugly/git: module-whatis This module adds gstreamer-plugins-ugly vgit to various paths Gstreamer Official Site: https://gstreamer.freedesktop.org/ prepend-path PATH /apps/gst-plugins-ugly/git//bin prepend-path LD_LIBRARY_PATH /apps/gst-plugins-ugly/git//lib prepend-path PKG_CONFIG_PATH /apps/gst-plugins-ugly/git/lib/pkgconfig ------------------------------------------------------------------- **Content:** #%Module1.0 ##################################################################### ## ## gstreamer-plugins-ugly Modulefile ## by Dennis Mungai on December 30 2016 ## set appname gst-plugins-ugly set version git set prefix /apps/${appname}/${version}/ set url "https://gstreamer.freedesktop.org/" set msg "This module adds gstreamer-plugins-ugly v$version to various paths\n\nGstreamer Official Site: $url\n" proc ModulesHelp { } { puts stderr "$msg" } module-whatis "$msg" #No conflict needed prepend-path PATH ${prefix}/bin prepend-path LD_LIBRARY_PATH ${prefix}/lib prepend-path PKG_CONFIG_PATH ${prefix}lib/pkgconfig **gstreamer-libav module:** module show gstreamer-libav/git ------------------------------------------------------------------- /usr/share/modules/modulefiles/gstreamer-libav/git: module-whatis This module adds gstreamer-plugins-base vgit to various paths Gstreamer Official Site: https://gstreamer.freedesktop.org/ prepend-path PATH /apps/gstreamer-libav/git//bin prepend-path LD_LIBRARY_PATH /apps/gstreamer-libav/git//lib prepend-path PKG_CONFIG_PATH /apps/gstreamer-libav/git/lib/pkgconfig ------------------------------------------------------------------- **Module content:** #%Module1.0 ##################################################################### ## ## gstreamer-libav Modulefile ## by Dennis Mungai on December 30 2016 ## set appname gstreamer-libav set version git set prefix /apps/${appname}/${version}/ set url "https://gstreamer.freedesktop.org/" set msg "This module adds gstreamer-plugins-base v$version to various paths\n\nGstreamer Official Site: $url\n" proc ModulesHelp { } { puts stderr "$msg" } module-whatis "$msg" #No conflict prepend-path PATH ${prefix}/bin prepend-path LD_LIBRARY_PATH ${prefix}/lib prepend-path PKG_CONFIG_PATH ${prefix}lib/pkgconfig Now, you've successfully deployed gstreamer in a custom location for use. Next gist: Building QT5 with this version of gstreamer baked in.