OpenGL Accelerated HTML Overlay/Getting Started/Building HTML Overlay: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
 
(17 intermediate revisions by 5 users not shown)
Line 9: Line 9:
HTML Overlay has the following dependencies for building from source:
HTML Overlay has the following dependencies for building from source:


* GStreamer. Visit [https://gstreamer.freedesktop.org/ GStreamer Project Site] for more information,
* OpenGL. See more about OpenGL in this link: [https://www.opengl.org/ OpenGL]
* OpenGL. See more about OpenGL in this link: [https://www.opengl.org/ OpenGL]
* GTK+. You can see more about GTK+ in this link: [https://www.gtk.org/ GTK+].
* GTK+. You can see more about GTK+ at this link: [https://www.gtk.org/ GTK+].
* Webkit2GTK+. You can see more about it in the following link: [https://webkitgtk.org/ Webkit2GTK+]
* Webkit2GTK+. You can see more about it in the following link: [https://webkitgtk.org/ Webkit2GTK+]
* GLEW
* GLEW
* EGL
* EGL
* GLFW (optional)
 
In the following sections you can see how to install, in Debian-based systems, the dependencies mentioned before.
In the following sections, you can see how to install the dependencies (mentioned before) in Debian-based systems:


=== OpenGL ===
=== OpenGL ===
Line 29: Line 30:
To install GTK+,please use:
To install GTK+,please use:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo apt-get install build-essential libgtk-3-dev
sudo apt-get install libgtk-3-dev
</syntaxhighlight>
</syntaxhighlight>


Line 52: Line 53:
</syntaxhighlight>
</syntaxhighlight>


=== Custom v4l2src element ===
=== GStreamer ===
 
In case you don't have GStreamer, please visit [https://gstreamer.freedesktop.org/ GStreamer Project Site] to see your platform specific installation guide. If you're in Ubuntu or Debian you can run the following command:
To capture from a camera in raw format with a bits per pixel different from 0, you may require to recompile the GStreamer Plugins Good. Please, follow [[CUDA_ISP_for_NVIDIA_Jetson/Getting_Started/Building_custom_v4l2src_element|these steps]].
<syntaxhighlight lang=bash>
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base
</syntaxhighlight>


=== Documentation (optional) ===
=== Documentation (optional) ===
Line 65: Line 68:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo apt install -y     \
sudo apt install doxygen -y
    doxygen            \
</syntaxhighlight>
</syntaxhighlight>


Line 78: Line 80:
* meson
* meson


Please, install them using (in Debian-based systems):
Please install them using (in Debian-based systems like Ubuntu):


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
sudo apt install -y \
sudo apt install -y \
    build-essential \
     python3        \
     python3        \
     python3-pip    \
     python3-pip    \
     ninja-build    \
     ninja-build    \
    meson          \
     pkg-config
     pkg-config
</syntaxhighlight>
</syntaxhighlight>
Line 92: Line 96:
== Building the project ==
== Building the project ==


Once fulfilled the dependencies, you can run a default compilation with:
Once the dependencies are installed, you can run a default compilation with:


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
meson build --optimization 3 --prefix /usr -Denable-docs=disabled -Ddeveloper-mode=false
meson setup build --optimization 3 --prefix /usr -Denable-docs=disabled -Ddeveloper-mode=false
ninja -C build
ninja -C build
sudo ninja -C build install
sudo ninja -C build install
Line 112: Line 116:
| -Denable-docs=disabled || Skip documentation generation. Enabled by default.
| -Denable-docs=disabled || Skip documentation generation. Enabled by default.
|-
|-
| -Denable-gst=disabled || Skip building for GStreamer elements. Enabled by default.
| -Denable-docs-only=enabled || Build documentation with Doxygen without compiling. Disabled by default. 
|-
| -Denable-gst=disabled || Skip building the GStreamer element. Enabled by default.
|-
|-
| -Denable-tests=disabled || Skip building tests. Enabled by default.
| -Denable-tests=disabled || Skip building tests. Enabled by default.
|-
| -Denable-examples=disabled || Build examples. Not supported on i.MX 8
|-
| -Dplatform={generic,jetson,vivante} || Select target platform as Jetson for NVIDIA Jetson and Vivante for i.MX8 . x86 by default
|-
|-
| --prefix /usr || Set the installation path of the library.  
| --prefix /usr || Set the installation path of the library.  
Line 120: Line 130:
| --optimization 3 || Set the optimization level to the maximum
| --optimization 3 || Set the optimization level to the maximum
|}
|}
<b>Table 1.</b> CUDA ISP configuration options (Meson)</caption>
<b>Table 1.</b> HTML Overlay configuration options (Meson)</caption>
</center>
</center>
== Examples ==
You can visit [[OpenGL_Accelerated_HTML_Overlay/Examples/GStreamer_Usage | GStreamer Usage]] page of this Guide to check out some application examples.


<noinclude>
<noinclude>
{{OpenGL Accelerated HTML Overlay/Foot|Getting_Started/Getting_the_Code|Library_User_Manual}}
{{OpenGL Accelerated HTML Overlay/Foot|Getting_Started/Getting_the_Code|Library_User_Manual}}
</noinclude>
</noinclude>

Latest revision as of 20:25, 16 October 2023



Previous: Getting_Started/Getting_the_Code Index Next: Library_User_Manual




Dependencies

HTML Overlay has the following dependencies for building from source:

  • GStreamer. Visit GStreamer Project Site for more information,
  • OpenGL. See more about OpenGL in this link: OpenGL
  • GTK+. You can see more about GTK+ at this link: GTK+.
  • Webkit2GTK+. You can see more about it in the following link: Webkit2GTK+
  • GLEW
  • EGL

In the following sections, you can see how to install the dependencies (mentioned before) in Debian-based systems:

OpenGL

To install OpenGL, please use:

sudo apt install mesa-utils
sudo apt-get install freeglut3

GTK+

To install GTK+,please use:

sudo apt-get install libgtk-3-dev

Webkit2GTK+

To install Webkit2GTK+, please use:

sudo apt-get install libwebkit2gtk-4.0-dev

GLEW

To install GLEW, please use:

sudo apt-get install libglew-dev

GLFW

To install GLFW, please use:

sudo apt-get install libglfw3 libglfw3-dev

GStreamer

In case you don't have GStreamer, please visit GStreamer Project Site to see your platform specific installation guide. If you're in Ubuntu or Debian you can run the following command:

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-base

Documentation (optional)

For the documentation, consider the following dependency:

  • doxygen

Please, install it using (in Debian-based systems):

sudo apt install doxygen -y

Meson building system

At the building system level:

  • ninja-build
  • python3-pip
  • pkg-config
  • meson

Please install them using (in Debian-based systems like Ubuntu):

sudo apt install -y \
     build-essential \
     python3        \
     python3-pip    \
     ninja-build    \
     meson          \
     pkg-config

The process should be similar in other systems, not based on Debian.

Building the project

Once the dependencies are installed, you can run a default compilation with:

meson setup build --optimization 3 --prefix /usr -Denable-docs=disabled -Ddeveloper-mode=false
ninja -C build
sudo ninja -C build install

For additional customization, you may refer to the following table of options:


`
Configure Option Description
-Ddeveloper-mode=false Disable developer mode. Enabled by default.
-Denable-docs=disabled Skip documentation generation. Enabled by default.
-Denable-docs-only=enabled Build documentation with Doxygen without compiling. Disabled by default.
-Denable-gst=disabled Skip building the GStreamer element. Enabled by default.
-Denable-tests=disabled Skip building tests. Enabled by default.
-Denable-examples=disabled Build examples. Not supported on i.MX 8
-Dplatform={generic,jetson,vivante} Select target platform as Jetson for NVIDIA Jetson and Vivante for i.MX8 . x86 by default
--prefix /usr Set the installation path of the library.
--optimization 3 Set the optimization level to the maximum
Table 1. HTML Overlay configuration options (Meson)

Examples

You can visit GStreamer Usage page of this Guide to check out some application examples.



Previous: Getting_Started/Getting_the_Code Index Next: Library_User_Manual