<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.idiot.io/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title> - gst</title>
        <description></description>
        <link>https://wiki.idiot.io/</link>
        <lastBuildDate>Sat, 06 Jun 2026 03:58:56 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.idiot.io/_media/logo.png</url>
            <title></title>
            <link>https://wiki.idiot.io/</link>
        </image>
        <item>
            <title>gstcope</title>
            <link>https://wiki.idiot.io/gst/gstcope?rev=1585264189&amp;do=diff</link>
            <description>
&lt;p&gt;
on windows &lt;br/&gt;

&lt;strong&gt;install&lt;/strong&gt; &lt;a href=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/&quot; rel=&quot;ugc nofollow&quot;&gt;1.16 release&lt;/a&gt; to c:/gst/1.6&lt;br/&gt;

direct link - &lt;a href=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-msvc-x86_64-1.16.2.msi&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-msvc-x86_64-1.16.2.msi&quot; rel=&quot;ugc nofollow&quot;&gt;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-msvc-x86_64-1.16.2.msi&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; gst-launch-1.0 -v ksvideosrc do-stats=TRUE ! videoconvert ! coloreffects preset=xray ! autovideosink &lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 26 Mar 2020 23:09:49 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://wiki.idiot.io/gst/start?rev=1585307791&amp;do=diff</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;gstreamer&quot;&gt;Gstreamer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.idiot.io/_detail/530px-gstreamer-logo.svg.png?id=gst%3Astart&quot; class=&quot;media wikilink2&quot; title=&quot;530px-gstreamer-logo.svg.png&quot;&gt;&lt;img src=&quot;https://wiki.idiot.io/_media/530px-gstreamer-logo.svg.png?w=200&amp;amp;tok=1f8ce7&quot; class=&quot;mediaright&quot; align=&quot;right&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
gstreamer the project with the &lt;a href=&quot;https://github.com/GStreamer/gstreamer&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/GStreamer/gstreamer&quot; rel=&quot;ugc nofollow&quot;&gt;best readme ever&lt;/a&gt;&lt;br/&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;gstreamer_101&quot;&gt;gstreamer 101&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
a gstreamer application runs a pipeline, composed of elements. the data flow is composed of buffers and events . 
&lt;/p&gt;

&lt;p&gt;
By linking a source &lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/elements.html#elements&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/elements.html#elements&quot; rel=&quot;ugc nofollow&quot;&gt;element&lt;/a&gt; with zero or more filter-like elements and finally a sink element, you set up a media &lt;strong&gt;pipeline&lt;/strong&gt;. Data will flow through the elements. This is the basic concept of media handling in GStreamer. 
&lt;/p&gt;

&lt;p&gt;
A &lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/pads.html#pads&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/pads.html#pads&quot; rel=&quot;ugc nofollow&quot;&gt;pad type&lt;/a&gt; is defined by two properties: its direction and its availability… &lt;br/&gt;

GStreamer defines two pad directions: source pads and sink pads. This terminology is defined from the view of within the element: elements receive data on their sink pads and generate data on their source pads. Schematically, sink pads are drawn on the left side of an element, whereas source pads are drawn on the right side of an element. In such graphs,&lt;strong&gt; data flows from left to right&lt;/strong&gt;. &lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/pads.html?gi-language=c&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/pads.html?gi-language=c&quot; rel=&quot;ugc nofollow&quot;&gt;more on pads&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The &lt;strong&gt;data&lt;/strong&gt; flowing through a pipeline consists of a combination of buffers and events. &lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/data.html#buffers&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/data.html#buffers&quot; rel=&quot;ugc nofollow&quot;&gt;Buffers&lt;/a&gt;  contain the actual media data. &lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/data.html#events&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/application-development/basics/data.html#events&quot; rel=&quot;ugc nofollow&quot;&gt;Events&lt;/a&gt; contain control information 
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;cheatsheet&quot;&gt;cheatsheet&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code sh&quot;&gt;#launch a camera and play max fps (set in eeprom)
&amp;nbsp;
gst-launch-1.0 -v -m autovideotest ! videoconvert ! fpsdisplaysink video-sink=fakesink text-overlay=false
&amp;nbsp;
gst-launch-1.0 filesrc location=test-single-30fps-synced.mkv ! decodebin ! videoconvert ! fpsdisplaysink video-sink=glimagesink&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Gstreamer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;gstreamer&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;2-2017&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;install&quot;&gt;install&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
approach that will compile and copy gstreamer to bare metal.&lt;br/&gt;

we can also run directly from docker (wip)
&lt;/p&gt;

&lt;p&gt;
there is an install script to be automated in the package folder
&lt;/p&gt;

&lt;p&gt;
the following data is for the know how
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;gst-build&quot;&gt;gst-build&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;UBUNTU&lt;/strong&gt;&lt;br/&gt;

ubuntu 18 comes with gstreamer 14.x built it , but it is an old release. missing some nice stuff. &lt;br/&gt;

better build using gst-build
&lt;/p&gt;
&lt;pre class=&quot;code sh&quot;&gt;sudo apt install -y apt-utils bison  build-essential cmake  curl flex gir1.2-gudev-1.0 git gudev-1.0-dev libbz2-dev libcairo2-dev libclang-dev libgirepository1.0-dev libglib2.0-dev libgtk-3-dev libgtk2.0-dev libjson-glib-dev libncurses5-dev libncursesw5-dev liborc-0.4-dev libreadline-dev libsqlite3-dev libssl-dev libudev-dev libxml2-dev libxslt1-dev  libyaml-dev llvm llvm-dev ninja-build python3-pip tk-dev vainfo xz-utils zlib1g-dev 
&amp;nbsp;
pip3 install meson --user
export PATH=$PATH:~/.local/bin
&amp;nbsp;
git clone https://gitlab.freedesktop.org/gstreamer/gst-build.git &amp;amp;&amp;amp; cd gst-build
meson \
       -Dbuildtype=release \
       -Dgtk_doc=disabled \
	   -Dpython=disabled \
	   -Dugly=disabled \
	   -Dges=disabled \
	   build 
&amp;nbsp;
#see below to run gst in private mode (uninstalled) or systemwide (install)
# add to env the following in later case
export LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu/&lt;/pre&gt;

&lt;p&gt;
then run &amp;#039;ninja uninstalled&amp;#039; or install over current version using &amp;#039;ninja install&amp;#039;, make sure you dirty remove gstreamer 1.4 (see below)
&lt;/p&gt;

&lt;p&gt;
to run uninstalled
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ninja -C /opt/gst/gst-build/build uninstalled&lt;/pre&gt;

&lt;p&gt;
to “install” gstreamer over the ubuntu package do
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo ninja -C /opt/gst/gst-build/build install&lt;/pre&gt;

&lt;p&gt;
to &lt;strong&gt;remove/uninstall&lt;/strong&gt; gstreamer
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo -s
rm /usr/local/bin/gst-*
rm /usr/bin/gst-*
rm -fr /usr/local/include/gstreamer-1.0/
rm -fr /usr/include/gstreamer-1.0/
rm -fr /usr/local/libexec/gstreamer-1.0/
rm /usr/lib/x86_64-linux-gnu/libgst*
rm /usr/local/lib/x86_64-linux-gnu/libgst*&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;WINDOWS&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://www.collabora.com/news-and-blog/blog/2019/11/26/gstreamer-windows/&quot; class=&quot;urlextern&quot; title=&quot;https://www.collabora.com/news-and-blog/blog/2019/11/26/gstreamer-windows/&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.collabora.com/news-and-blog/blog/2019/11/26/gstreamer-windows/&lt;/a&gt;&lt;br/&gt;

using following script&lt;br/&gt;

had to disable
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;msdk (temp until installing Media SDK for windows) &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt;libxml&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; rename/delete the libxml2.wrap file from gst-build/subproject dir&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; disable GES in meson_options.txt&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;hiddenGlobal  hiddenActive&quot;&gt;&lt;div class=&quot;hiddenElements&quot;&gt;&lt;/div&gt;&lt;div class=&quot;hiddenHead  hiddenSinceBeginning&quot;&gt;&lt;div class=&quot;hiddenOnHidden&quot;&gt;
&lt;p&gt;
Click to display ⇲
&lt;/p&gt;
&lt;/div&gt;&lt;div class=&quot;hiddenOnVisible&quot;&gt;
&lt;p&gt;
Click to hide ⇱
&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt; &lt;!-- .hiddenHead --&gt;&lt;div class=&quot;hiddenBody&quot;&gt;&lt;pre class=&quot;code&quot;&gt;#https://www.collabora.com/news-and-blog/blog/2019/11/26/gstreamer-windows/

@echo off

set PY_PATH=C:\Python37
set SOURCE_DIR=c:\dev\build-me\
set GSTREAMER_1_0_ROOT_X86_64=%SOURCE_DIR%\86_64\
set GST_SRC_BUILD_PATH=%SOURCE_DIR%gst-build\build\subprojects\
set GST_PLUGIN_PATH=%GST_SRC_BUILD_PATH%gst-plugins-good;%GST_SRC_BUILD_PATH%gst-plugins-bad;%GST_SRC_BUILD_PATH%gst-plugins-base
git clone https://gitlab.freedesktop.org/gstreamer/gst-build.git
set PATH=%PATH%;%PY_PATH%;%PY_PATH%\Scripts;%PY_PATH%\Lib\site-packages;C:\Program Files\Git\cmd;%GSTREAMER_1_0_ROOT_X86_64%bin
cd %SOURCE_DIR%\gst-build

echo SOURCE_DIR=%SOURCE_DIR%
echo .
echo GSTREAMER_1_0_ROOT_X86_64=%GSTREAMER_1_0_ROOT_X86_64%
echo .
echo GST_SRC_BUILD_PATH=%GSTREAMER_1_0_ROOT_X86_64%
echo .
echo GST_PLUGIN_PATH=%GST_SRC_BUILD_PATH%
echo .
echo %GST_PLUGIN_PATH%

echo =======================================
echo NOW RUN in Visual Studio 2019 \ x64 Native Tools Command Prompt
echo .
echo meson --prefix=%GSTREAMER_1_0_ROOT_X86_64% build
echo .
echo ninja -C build&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;
the &lt;strong&gt;docker didn&amp;#039;t work out&lt;/strong&gt; for me&lt;br/&gt;

froze on last step (pip install meson)
&lt;/p&gt;

&lt;p&gt;
install docker for windows, and enable windows containers. 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone https://gitlab.freedesktop.org/gstreamer/gst-ci/
cd gstr-ci
docker build .
wait....
1607: Pulling from windows/servercore
3889bb8d808b: Downloading [=============&amp;gt;                                     ]  1.112GB/4.07GB                         
57e8a97eaa75: Downloading [=================================&amp;gt;                 ]  1.092GB/1.65GB&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;install&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;install&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2018-5822&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;code_build_on_windows&quot;&gt;code build on windows&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/installing/on-windows.html?gi-language=c&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/installing/on-windows.html?gi-language=c&quot; rel=&quot;ugc nofollow&quot;&gt;installing on windows&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt;get windows gstreamer files, MSVC edition. &lt;a href=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/&quot; rel=&quot;ugc nofollow&quot;&gt;link&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/gstreamer-1.0-msvc-x86_64-1.16.1.msi&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/gstreamer-1.0-msvc-x86_64-1.16.1.msi&quot; rel=&quot;ugc nofollow&quot;&gt;gstreamer-1.0-msvc-x86_64-1.16.1.msi&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/gstreamer-1.0-devel-msvc-x86_64-1.16.1.msi&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/gstreamer-1.0-devel-msvc-x86_64-1.16.1.msi&quot; rel=&quot;ugc nofollow&quot;&gt;gstreamer-1.0-devel-msvc-x86_64-1.16.1.msi&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/gstreamer-1.0-msvc-x86_64-1.16.1-merge-modules.zip&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/data/pkg/windows/1.16.1/gstreamer-1.0-msvc-x86_64-1.16.1-merge-modules.zip&quot; rel=&quot;ugc nofollow&quot;&gt;gstreamer-1.0-msvc-x86_64-1.16.1-merge-modules.zip&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt;VS2019 Template - &lt;a href=&quot;https://wiki.idiot.io/_media/gstsample-console.zip&quot; class=&quot;media mediafile mf_zip wikilink2&quot; title=&quot;gstsample-console.zip&quot;&gt;gstsample-console.zip&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; place template zip in “C:\Users\user\Documents\Visual Studio 2019\My Exported Templates\”&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; remove broken source and add “real” source file- like &lt;a href=&quot;https://wiki.idiot.io/_media/basic-tutorial-2.c&quot; class=&quot;media mediafile mf_c wikilink2&quot; title=&quot;basic-tutorial-2.c&quot;&gt;basic-tutorial-2.c&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; build change to X64&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;set you environment params correctly&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;set GSTREAMER_1_0_ROOT_X86_64=C:\gstreamer\1.0\x86_64\&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;watch out for cpp extension generated by default on vs2019 “new project”, should be .c&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
in (&lt;a href=&quot;https://stackoverflow.com/a/50756979/184085&quot; class=&quot;urlextern&quot; title=&quot;https://stackoverflow.com/a/50756979/184085&quot; rel=&quot;ugc nofollow&quot;&gt;long&lt;/a&gt;)
&lt;/p&gt;

&lt;p&gt;
1) C/C++ → Additional Include Directories → define your include paths such as
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$(GSTREAMER_1_0_ROOT_X86_64)\lib\glib-2.0\include;$(GSTREAMER_1_0_ROOT_X86_64)\include\gstreamer-1.0;$(GSTREAMER_1_0_ROOT_X86_64)\include\glib-2.0\;$(GSTREAMER_1_0_ROOT_X86_64)\include\glib-2.0\glib;%(AdditionalIncludeDirectories)&lt;/pre&gt;

&lt;p&gt;
2) Linker → General → Adding Library Directories → write your lib directory path such as
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$(GSTREAMER_1_0_ROOT_X86_64)\lib;%(AdditionalLibraryDirectories)&lt;/pre&gt;

&lt;p&gt;
3) Linker → Input → Additional Dependencies → Write your .lib files you want to use such as
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gobject-2.0.lib;glib-2.0.lib;gstreamer-1.0.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;code build on windows&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;code_build_on_windows&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;5823-7873&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;plugins&quot;&gt;plugins&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;vision camera gstreamer plugin&lt;/strong&gt; &lt;a href=&quot;https://github.com/5shekel/gst-plugins-vision&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/5shekel/gst-plugins-vision&quot; rel=&quot;ugc nofollow&quot;&gt;gst-plugins-vision&lt;/a&gt; - with working readme inside for ubuntu&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pipviz -the visual editor for gstreamer - &lt;a href=&quot;https://github.com/virinext/pipeviz.git&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/virinext/pipeviz.git&quot; rel=&quot;ugc nofollow&quot;&gt;github&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; gst-video-analytics - &lt;a href=&quot;https://github.com/opencv/gst-video-analytics&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/opencv/gst-video-analytics&quot; rel=&quot;ugc nofollow&quot;&gt;GStreamer Video Analytics (GVA) Plugin&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.idiot.io/_detail/intro.gif?id=gst%3Astart&quot; class=&quot;media wikilink2&quot; title=&quot;intro.gif&quot;&gt;&lt;img src=&quot;https://wiki.idiot.io/_media/intro.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;diy_plugin&quot;&gt;DIY plugin&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
we actually build upon the work of others. the only plugin i work on is not a brand new one. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;tldr&lt;/strong&gt;: you first run &lt;em&gt;gst-plugins-bad/tools/gst-project-maker&lt;/em&gt;, then in the new project plugin folder you run &lt;em&gt;tools/gst-elemnt-maker&lt;/em&gt; then you &lt;em&gt;./autogen&lt;/em&gt; and &lt;em&gt;make&lt;/em&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;#some dependencies
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev indent

cd ~/dev

git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad
cd gst-plugins-bad
NOCONFIGURE=1 ./autogen.sh 
#tip from ridgerun
sudo cp common/gst-indent /usr/local/bin/

./gst-plugins-bad/tools-gst-project-maker mv4dec

cd gst-mv4


cat plugin/gstmv4dec.c
/* This file should be replaced by element source generated by
 * gst-element-maker, or by your own source code.  To generate suitable
 * element source using gst-element-maker, run:
 *
 *   gst-element-maker  mv4dec BASE_CLASS
 *
 * Where BASE_CLASS is replaced by one of the base class templates,
 * such as basesrc, basetransform, audiofilter, videofilter2, etc.
 * Then copy the resulting gstmv4dec.c file over this file, and
 * gstmv4dec.h over gstmv4dec.h.
 */
/* The rest of this file is shim code to allow the project to compile */&lt;/pre&gt;

&lt;p&gt;
so…. choose your base class
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;tools/element-templates/
audiodecoder  baseparse      gobject           sinkpad-template-video  srcpad-template-video
audioencoder  basesink       sinkpad           srcpad                  videodecoder
audiofilter   basesrc        sinkpad-audio     srcpad-audio            videoencoder
audiosink     basetransform  sinkpad-simple    srcpad-simple           videofilter
audiosrc      element        sinkpad-template  srcpad-template         videosink&lt;/pre&gt;

&lt;p&gt;
run the element maker in that folder
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd ~/dev/gst-mv4/plugins
~/dev/gst-plugins-bad/tools/gst-element-maker mv4dec videoencoder
cd ..
./autogen.sh
make &amp;amp;&amp;amp; sudo make install&lt;/pre&gt;

&lt;p&gt;
note the location of the output, its not the usual /usr/include/gstreamer-1.0
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;alternative&quot;&gt;alternative&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
“A really minimal Gstreamer plugin template without the libtool crap”&lt;br/&gt;

&lt;a href=&quot;https://github.com/floe/gst-plugin-minimal&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/floe/gst-plugin-minimal&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/floe/gst-plugin-minimal&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;plugins&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;plugins&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;7874-10453&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;profiling&quot;&gt;Profiling&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Latency Tracer&lt;/strong&gt; &amp;gt; Measure the time it took for each buffer to travel from source to sink (&lt;a href=&quot;https://wiki.idiot.io/_media/fosdem_modern_tools_to_debug_gst_apps.pdf&quot; class=&quot;media mediafile mf_pdf wikilink2&quot; title=&quot;fosdem_modern_tools_to_debug_gst_apps.pdf&quot;&gt;src&lt;/a&gt;)
&lt;/p&gt;

&lt;p&gt;
in powershell
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$env:GST_DEBUG=&amp;quot;GST_TRACER:7&amp;quot;
$env:GST_TRACERS=&amp;quot;latency(flags=pipeline+elemen+reported)&amp;quot;
gst-launch-1.0 videotestsrc ! fpsdisplaysink&lt;/pre&gt;

&lt;p&gt;
in unix
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;GST_DEBUG=&amp;quot;GST_TRACER:7&amp;quot; GST_TRACERS=&amp;quot;latency(flags=pipeline+elemen+reported)&amp;quot; \
gst-launch-1.0 videotestsrc ! fpsdisplaysink&lt;/pre&gt;

&lt;p&gt;
see what happens using gst_debug-viewer &lt;a href=&quot;https://gstconf.ubicast.tv/permalink/v124cbec1db0080d67b9&quot; class=&quot;urlextern&quot; title=&quot;https://gstconf.ubicast.tv/permalink/v124cbec1db0080d67b9&quot; rel=&quot;ugc nofollow&quot;&gt;Debugging Gstreamer Pipelines- talk&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cd /opt/gst/gst-build/gst-devtools/debug-viewer
./gst-debug-viewer /opt/mv/test/log2&lt;/pre&gt;

&lt;p&gt;
test the output file with fpsdisplaysink
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gst-play-1.0 test.mkv  --videosink=fpsdisplaysink&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Profiling&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;profiling&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;10454-11245&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;sync&quot;&gt;Sync&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
how to dump GstBuffer timestamps
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;You can put an &amp;#039;identity silent=false&amp;#039; in the pipeline, and use gst-launch-1.0 -v for verbose output of all traffic passing that point&lt;/pre&gt;

&lt;p&gt;
or
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;GST_DEBUG=&amp;quot;​GST_TRACER:​7&amp;quot;​ GST_TRACERS=&amp;quot;​latency(flags=pipeline+elemen+reported)&amp;quot;​ \
gst-launch-1.0 videotestsrc ! fpsdisplaysink&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://fosdem.org/2016/schedule/event/synchronised_gstreamer/&quot; class=&quot;urlextern&quot; title=&quot;https://fosdem.org/2016/schedule/event/synchronised_gstreamer/&quot; rel=&quot;ugc nofollow&quot;&gt;https://fosdem.org/2016/schedule/event/synchronised_gstreamer/&lt;/a&gt;  &lt;a href=&quot;https://www.slideshare.net/SamsungOSG/synchronised-multidevice-media-playback-with-gstreamer&quot; class=&quot;urlextern&quot; title=&quot;https://www.slideshare.net/SamsungOSG/synchronised-multidevice-media-playback-with-gstreamer&quot; rel=&quot;ugc nofollow&quot;&gt;slides&lt;/a&gt; and &lt;a href=&quot;http://gstreamer-devel.966125.n4.nabble.com/Synchronizing-multiple-RTP-sources-td4672395.html&quot; class=&quot;urlextern&quot; title=&quot;http://gstreamer-devel.966125.n4.nabble.com/Synchronizing-multiple-RTP-sources-td4672395.html&quot; rel=&quot;ugc nofollow&quot;&gt;forum thread&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;static GstNetTimeProvider *
create_net_clock (guint16 *port)
{
  GstClock *clock;
  GstNetTimeProvider *net_time;&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://github.com/ford-prefect/gst-sync-server&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/ford-prefect/gst-sync-server&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/ford-prefect/gst-sync-server&lt;/a&gt; - nice client/server&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/pango/timeoverlay.html?gi-language=c&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/pango/timeoverlay.html?gi-language=c&quot; rel=&quot;ugc nofollow&quot;&gt;timeoverlay&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/clock.html?gi-language=c&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/clock.html?gi-language=c&quot; rel=&quot;ugc nofollow&quot;&gt;clock&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gstreamer.freedesktop.org/documentation/application-development/advanced/clocks.html?gi-language=c&quot; class=&quot;urlextern&quot; title=&quot;https://gstreamer.freedesktop.org/documentation/application-development/advanced/clocks.html?gi-language=c&quot; rel=&quot;ugc nofollow&quot;&gt;Clocks and synchronization in GStreamer&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Sync&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sync&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;11246-12518&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;validate&quot;&gt;validate&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;video class=&quot;media&quot; width=&quot;320&quot; height=&quot;240&quot; controls=&quot;controls&quot;&gt;
&lt;/video&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/UbiCastTeam/qr-lipsync&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/UbiCastTeam/qr-lipsync&quot; rel=&quot;ugc nofollow&quot;&gt;QrLipsync&lt;/a&gt; is an audio-video latency (also referred to as lipsync) measurement and validation tool. &lt;br/&gt;

more from Arun &lt;a href=&quot;https://arunraghavan.net/2016/11/gstreamer-and-synchronisation-made-easy/&quot; class=&quot;urlextern&quot; title=&quot;https://arunraghavan.net/2016/11/gstreamer-and-synchronisation-made-easy/&quot; rel=&quot;ugc nofollow&quot;&gt;#1&lt;/a&gt;, &lt;a href=&quot;https://arunraghavan.net/2017/01/quantifying-synchronisation-oscilloscope-edition/&quot; class=&quot;urlextern&quot; title=&quot;https://arunraghavan.net/2017/01/quantifying-synchronisation-oscilloscope-edition/&quot; rel=&quot;ugc nofollow&quot;&gt;#3&lt;/a&gt; and his &lt;a href=&quot;https://github.com/serg-z/gst-sync-server&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/serg-z/gst-sync-server&quot; rel=&quot;ugc nofollow&quot;&gt;code&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://gstconf.ubicast.tv/videos/synchronised-multi-room-media-playback-and-distributed-live-media-processing-and-mixing-with-gstreamer/&quot; class=&quot;urlextern&quot; title=&quot;https://gstconf.ubicast.tv/videos/synchronised-multi-room-media-playback-and-distributed-live-media-processing-and-mixing-with-gstreamer/&quot; rel=&quot;ugc nofollow&quot;&gt;Synchronised ... with GStreamer&lt;/a&gt; (2015)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;validate&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;validate&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;12519-13144&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;rgbd&quot;&gt;RGBD&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gstconf.ubicast.tv/videos/3d-cameras-in-gstreamer-rgb-d-camera-support-and-depth-video-compression/&quot; class=&quot;urlextern&quot; title=&quot;https://gstconf.ubicast.tv/videos/3d-cameras-in-gstreamer-rgb-d-camera-support-and-depth-video-compression/&quot; rel=&quot;ugc nofollow&quot;&gt;talk&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gitlab.com/aivero/public/gstreamer/gst-rgbd&quot; class=&quot;urlextern&quot; title=&quot;https://gitlab.com/aivero/public/gstreamer/gst-rgbd&quot; rel=&quot;ugc nofollow&quot;&gt;gst-rgbd git&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://i.imgur.com/wrlAowC.png&quot; class=&quot;urlextern&quot; title=&quot;https://i.imgur.com/wrlAowC.png&quot; rel=&quot;ugc nofollow&quot;&gt;https://i.imgur.com/wrlAowC.png&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://i.imgur.com/IeoxlNp.png&quot; class=&quot;urlextern&quot; title=&quot;https://i.imgur.com/IeoxlNp.png&quot; rel=&quot;ugc nofollow&quot;&gt;https://i.imgur.com/IeoxlNp.png&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://gitlab.com/aivero/public/gstreamer/gst-colorizer&quot; class=&quot;urlextern&quot; title=&quot;https://gitlab.com/aivero/public/gstreamer/gst-colorizer&quot; rel=&quot;ugc nofollow&quot;&gt;https://gitlab.com/aivero/public/gstreamer/gst-colorizer&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://github.com/skaegy/gst-realsenseRGBD-streaming&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/skaegy/gst-realsenseRGBD-streaming&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/skaegy/gst-realsenseRGBD-streaming&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;RGBD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rgbd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;13145-13536&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;dot_files&quot;&gt;Dot Files&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://embeddedartistry.com/blog/2018/02/22/generating-gstreamer-pipeline-graphs/&quot; class=&quot;urlextern&quot; title=&quot;https://embeddedartistry.com/blog/2018/02/22/generating-gstreamer-pipeline-graphs/&quot; rel=&quot;ugc nofollow&quot;&gt;generating-gstreamer-pipeline-graphs&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
install &lt;a href=&quot;http://www.graphviz.org/&quot; class=&quot;urlextern&quot; title=&quot;http://www.graphviz.org/&quot; rel=&quot;ugc nofollow&quot;&gt;graphviz&lt;/a&gt; &lt;br/&gt;

make sure you have
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://github.com/anthraxx/arch-pkgbuilds/blob/master/xdot/xdot.desktop&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/anthraxx/arch-pkgbuilds/blob/master/xdot/xdot.desktop&quot; rel=&quot;ugc nofollow&quot;&gt;.desktop&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://github.com/frasercrmck/dotfiles/blob/master/howtos/dot-mimetype.md&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/frasercrmck/dotfiles/blob/master/howtos/dot-mimetype.md&quot; rel=&quot;ugc nofollow&quot;&gt;mime type&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://help.gnome.org/admin/system-admin-guide/stable/mime-types-custom.html.en&quot; class=&quot;urlextern&quot; title=&quot;https://help.gnome.org/admin/system-admin-guide/stable/mime-types-custom.html.en&quot; rel=&quot;ugc nofollow&quot;&gt;configure&lt;/a&gt; &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code&quot;&gt;GST_DEBUG_DUMP_DOT_DIR=c:\temp\dot&lt;/pre&gt;

&lt;p&gt;
note: videoconvert shouldn&amp;#039;t  add cpu time if both color-formats are ok with each other (BGR is accepted by matoskamux in our case) &lt;a href=&quot;https://wiki.idiot.io/_detail/screenshot_from_2019-09-05_20-28-05.png?id=gst%3Astart&quot; class=&quot;media wikilink2&quot; title=&quot;screenshot_from_2019-09-05_20-28-05.png&quot;&gt;&lt;img src=&quot;https://wiki.idiot.io/_media/screenshot_from_2019-09-05_20-28-05.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;pic&quot; alt=&quot;pic&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Dot Files&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dot_files&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;13537-14257&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;also&quot;&gt;also&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.st.com/stm32mpu/wiki/How_to_profile_video_framerate&quot; class=&quot;urlextern&quot; title=&quot;https://wiki.st.com/stm32mpu/wiki/How_to_profile_video_framerate&quot; rel=&quot;ugc nofollow&quot;&gt;How_to_profile_video_framerate&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.idiot.io/_media/fosdem_modern_tools_to_debug_gst_apps.pdf&quot; class=&quot;media mediafile mf_pdf wikilink2&quot; title=&quot;fosdem_modern_tools_to_debug_gst_apps.pdf&quot;&gt;fosdem_modern_tools_to_debug_gst_apps.pdf&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.idiot.io/_media/kyrylo_polezhaiev_-_profiling_gstreamer_pipelines.pdf&quot; class=&quot;media mediafile mf_pdf wikilink2&quot; title=&quot;kyrylo_polezhaiev_-_profiling_gstreamer_pipelines.pdf&quot;&gt;kyrylo_polezhaiev_-_profiling_gstreamer_pipelines.pdf&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code shell&quot;&gt;PS C:\dev&amp;gt; gst-launch-1.0.exe --help-gst
GStreamer Options
  --gst-debug-help                  Print available debug categories and exit
  --gst-debug-level=LEVEL           Default debug level from 1 (only error) to 9 (anything) or 0 for no output
  --gst-debug=LIST                  Comma-separated list of category_name:level pairs to set specific levels for the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3&lt;/pre&gt;

&lt;p&gt;
&lt;br/&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;also&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;also&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;14258-14947&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;other_things&quot;&gt;other things&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;libxcam (&lt;a href=&quot;https://github.com/intel/libxcam&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/intel/libxcam&quot; rel=&quot;ugc nofollow&quot;&gt;link&lt;/a&gt;) - a project for extended camera(not limited in camera) features and focus on image quality improvement and video analysis. There are lots features supported in image pre-processing, image post-processing and smart analysis. This library makes GPU/CPU/ISP working together to improve image quality. &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://github.com/matthew1000/gstreamer-cheat-sheet&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/matthew1000/gstreamer-cheat-sheet&quot; rel=&quot;ugc nofollow&quot;&gt;cheta-sheet&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://blog.nirbheek.in/2018/03/low-latency-audio-on-windows-with.html&quot; class=&quot;urlextern&quot; title=&quot;http://blog.nirbheek.in/2018/03/low-latency-audio-on-windows-with.html&quot; rel=&quot;ugc nofollow&quot;&gt; cute latency testing&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;

&lt;h4 id=&quot;gpu&quot;&gt;GPU&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt; time gst-launch-1.0 videotestsrc num-buffers=1000 ! &amp;quot;video/x-raw, width=4000, height=2000&amp;quot; ! glupload ! glcolorconvert ! gldownload ! video/x-raw,format=BGRx ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element &amp;#039;gldownloadelement0&amp;#039;: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)&amp;quot;\(GstGLDisplayX11\)\ gldisplayx11-0&amp;quot;;
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element &amp;quot;pipeline0&amp;quot;.
Execution ended after 0:00:09.868270205
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

real	0m9.999s
user	0m9.927s
sys	0m0.110s
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;other things&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;other_things&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;14948-16205&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;python&quot;&gt;Python&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://brettviren.github.io/pygst-tutorial-org/pygst-tutorial.html&quot; class=&quot;urlextern&quot; title=&quot;https://brettviren.github.io/pygst-tutorial-org/pygst-tutorial.html&quot; rel=&quot;ugc nofollow&quot;&gt;Python GStreamer Tutorial&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://lifestyletransfer.com/how-to-launch-gstreamer-pipeline-in-python/&quot; class=&quot;urlextern&quot; title=&quot;http://lifestyletransfer.com/how-to-launch-gstreamer-pipeline-in-python/&quot; rel=&quot;ugc nofollow&quot;&gt;how-to-launch-gstreamer-pipeline-in-python&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://mathieuduponchelle.github.io/2018-02-01-Python-Elements.html?gi-language=undefined&quot; class=&quot;urlextern&quot; title=&quot;http://mathieuduponchelle.github.io/2018-02-01-Python-Elements.html?gi-language=undefined&quot; rel=&quot;ugc nofollow&quot;&gt;a tutorial on why its a bad idea&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Python&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;python&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;16206-16581&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;brave&quot;&gt;brave&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
a gui/frontend web based. for gstreamer &lt;a href=&quot;https://github.com/bbc/brave&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bbc/brave&quot; rel=&quot;ugc nofollow&quot;&gt;github.com/bbc/brave&lt;/a&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;curl -X PUT -d &amp;#039;{&amp;quot;type&amp;quot;: &amp;quot;tcp_client&amp;quot;, &amp;quot;host&amp;quot;: &amp;quot;0.0.0.0&amp;quot;, &amp;quot;port&amp;quot;:13001}&amp;#039; http://localhost:5000/api/inputs&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;pip3 install --user pipenv
export PATH=&amp;quot;${HOME}/.local/bin:$PATH&amp;quot;
pipenv install
git clone https://github.com/bbc/brave.git
cd brave
pipenv run ./brave.py&lt;/pre&gt;

&lt;p&gt;
for pipenv you should add this to your environment vars (mote at &lt;a href=&quot;https://github.com/bbc/brave/edit/master/docs/install_ubuntu.md&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/bbc/brave/edit/master/docs/install_ubuntu.md&quot; rel=&quot;ugc nofollow&quot;&gt;how to&lt;/a&gt;)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;export PATH=&amp;quot;${HOME}/.local/bin:$PATH&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;brave&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;brave&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;16582-17158&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;debug&quot;&gt;debug&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;fool gst to disregard a filter - &lt;a href=&quot;https://fhackts.wordpress.com/2018/04/16/temporarily-skipping-vaapi-decoders-in-decodebin/&quot; class=&quot;urlextern&quot; title=&quot;https://fhackts.wordpress.com/2018/04/16/temporarily-skipping-vaapi-decoders-in-decodebin/&quot; rel=&quot;ugc nofollow&quot;&gt;src&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
just a nice debug tool, to find symbols
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;user@ubu:~/dev/ffmpeg/RELEASE/lib$ nm -DC *.so -o | grep av_rescale_q
libavcodec-ffmpeg.so:                 U av_rescale_q
libavdevice-ffmpeg.so:                 U av_rescale_q
libavdevice-ffmpeg.so:                 U av_rescale_q_rnd
libavfilter-ffmpeg.so:                 U av_rescale_q
libavfilter-ffmpeg.so:                 U av_rescale_q_rnd
libavformat-ffmpeg.so:                 U av_rescale_q
libavformat-ffmpeg.so:                 U av_rescale_q_rnd
libavutil-ffmpeg.so:0000000000021da0 T av_rescale_q
libavutil-ffmpeg.so:0000000000021d70 T av_rescale_q_rnd
user@ubu:~/dev/ffmpeg/RELEASE/lib$ readelf -a libavutil-ffmpeg.so | grep av_rescale_q
   152: 0000000000021da0    10 FUNC    GLOBAL DEFAULT   13 av_rescale_q@@LIBAVUTIL_54
   372: 0000000000021d70    33 FUNC    GLOBAL DEFAULT   13 av_rescale_q_rnd@@LIBAVUTIL_54&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;debug&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;debug&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:13,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;17159-18193&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;output&quot;&gt;output&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;base&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; ubuntu&lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;ubu:~&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gst&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gst-plugin-ueye$ &lt;span class=&quot;kw2&quot;&gt;sudo&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt;
Making &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; src
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Entering directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye/src'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Entering directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye/src'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Nothing to be &lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'install-exec-am'&lt;/span&gt;.
 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-p&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'/usr/local/lib/gstreamer-1.0'&lt;/span&gt;
 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;bash&lt;/span&gt; ..&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;libtool   &lt;span class=&quot;re5&quot;&gt;--mode&lt;/span&gt;=&lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt;   libueyeplugin.la &lt;span class=&quot;st_h&quot;&gt;'/usr/local/lib/gstreamer-1.0'&lt;/span&gt;
libtool: install: &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; .libs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;libueyeplugin.so &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gstreamer-&lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;libueyeplugin.so
libtool: install: &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-c&lt;/span&gt; .libs&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;libueyeplugin.lai &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gstreamer-&lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;libueyeplugin.la
libtool: finish: &lt;span class=&quot;re2&quot;&gt;PATH&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin&amp;quot;&lt;/span&gt; ldconfig &lt;span class=&quot;re5&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gstreamer-&lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt;
&lt;span class=&quot;re5&quot;&gt;----------------------------------------------------------------------&lt;/span&gt;
Libraries have been installed in:
   &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;local&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;lib&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;gstreamer-&lt;span class=&quot;nu0&quot;&gt;1.0&lt;/span&gt;
&amp;nbsp;
If you ever happen to want to &lt;span class=&quot;kw2&quot;&gt;link&lt;/span&gt; against installed libraries
&lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the &lt;span class=&quot;st_h&quot;&gt;'-LLIBDIR'&lt;/span&gt;
flag during linking and &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt; at least one of the following:
   - add LIBDIR to the &lt;span class=&quot;st_h&quot;&gt;'LD_LIBRARY_PATH'&lt;/span&gt; environment variable
     during execution
   - add LIBDIR to the &lt;span class=&quot;st_h&quot;&gt;'LD_RUN_PATH'&lt;/span&gt; environment variable
     during linking
   - use the &lt;span class=&quot;st_h&quot;&gt;'-Wl,-rpath -Wl,LIBDIR'&lt;/span&gt; linker flag
   - have your system administrator add LIBDIR to &lt;span class=&quot;st_h&quot;&gt;'/etc/ld.so.conf'&lt;/span&gt;
&amp;nbsp;
See any operating system documentation about shared libraries &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;more&lt;/span&gt; information, such &lt;span class=&quot;kw2&quot;&gt;as&lt;/span&gt; the &lt;span class=&quot;kw2&quot;&gt;ld&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; and ld.so&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; manual pages.
&lt;span class=&quot;re5&quot;&gt;----------------------------------------------------------------------&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Leaving directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye/src'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Leaving directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye/src'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Entering directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Entering directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Nothing to be &lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'install-exec-am'&lt;/span&gt;.
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Nothing to be &lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'install-data-am'&lt;/span&gt;.
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Leaving directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye'&lt;/span&gt;
&lt;span class=&quot;kw2&quot;&gt;make&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;: Leaving directory &lt;span class=&quot;st_h&quot;&gt;'/home/ubuntu/dev/gst/gst-plugin-ueye'&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h4 id=&quot;media&quot;&gt;media&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.idiot.io/_media/fresh_install_script.txt&quot; class=&quot;media mediafile mf_txt&quot; title=&quot;fresh_install_script.txt (2.4 KB)&quot;&gt;fresh_install_script.txt&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.idiot.io/_media/fan_on_off.txt&quot; class=&quot;media mediafile mf_txt&quot; title=&quot;fan_on_off.txt (142 B)&quot;&gt;fan_on_off.txt&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.idiot.io/_media/enc001.txt&quot; class=&quot;media mediafile mf_txt&quot; title=&quot;enc001.txt (960 B)&quot;&gt;enc001.txt&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.idiot.io/_media/launch.txt&quot; class=&quot;media mediafile mf_txt&quot; title=&quot;launch.txt (1.1 KB)&quot;&gt;launch.txt&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4 id=&quot;live_streaming&quot;&gt;live streaming&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://cloud.google.com/video-intelligence/docs/streaming/live-streaming&quot; class=&quot;urlextern&quot; title=&quot;https://cloud.google.com/video-intelligence/docs/streaming/live-streaming&quot; rel=&quot;ugc nofollow&quot;&gt;https://cloud.google.com/video-intelligence/docs/streaming/live-streaming&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;output&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;output&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;18194-20597&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;cheatsheet1&quot;&gt;CheatSheet&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;*https://developer.toradex.com/knowledge-base/video-playback-(linux)
*https://wiki.xiph.org/index.php?title=GST_cookbook
*http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;CheatSheet&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cheatsheet1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;20598-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 27 Mar 2020 11:16:31 +0000</pubDate>
        </item>
    </channel>
</rss>
