Created
December 8, 2023 14:58
-
-
Save darfink/78051a36377edf0ca0ff3c8081e81af1 to your computer and use it in GitHub Desktop.
Build Gstreamer (1.23) from source for Ubuntu 23.04
This 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 characters
# Use Ubuntu as the base image | |
FROM ubuntu:23.04 | |
# Update package lists and install necessary dependencies | |
RUN apt-get update && \ | |
apt-get install -y \ | |
build-essential \ | |
libgstreamer1.0-dev \ | |
meson \ | |
flex \ | |
bison \ | |
libaom-dev libass-dev libbs2b-dev libbz2-dev libc-dev libcairo-dev libchromaprint-dev libcurl3-gnutls libdc1394-dev libdca-dev libde265-dev libdirectfb-dev libdrm-dev libdvdnav-dev libdvdread-dev libfaad-dev libfluidsynth-dev libfreeaptx-dev libglib2.0-dev libgme-dev libgsm1-dev libgudev-1.0-dev libimath-dev libjson-glib-dev libkate-dev liblcms2-dev libldacbt-enc-dev liblilv-dev liblrdf-dev libltc-dev libmodplug-dev libmpcdec-dev libneon27-dev libopenal-dev libopenexr-dev libopenh264-dev libopenjp2-7-dev libopenmpt-dev libopenni2-dev libopus-dev liborc-dev libpango1.0-dev libqrencode-dev librsvg2-dev librtmp-dev libsbc-dev libsndfile-dev libsoundtouch-dev libspandsp-dev libsrt-openssl-dev libsrtp2-dev libssl-dev libusb-dev libva-dev libvo-aacenc-dev libvo-amrwbenc-dev libwebp-dev libwebrtc-audio-processing-dev libwildmidi-dev libx11-dev libx265-dev libxml2-dev libzbar-dev libzvbi-dev libzxing-dev libfaac-dev \ | |
ninja-build \ | |
wget \ | |
pip \ | |
git | |
# Ensure meson >= 1.1 is used for gstreamer | |
RUN python3 -m pip install --break-system-packages --upgrade meson | |
# Create a working directory | |
WORKDIR /app | |
# Clone the GStreamer repository | |
RUN git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git | |
RUN git config --global user.name docker && git config --global user.email [email protected] | |
# Enter the gstreamer directory | |
WORKDIR /app/gstreamer | |
# Build all features by default | |
WORKDIR /app/gstreamer/build | |
RUN meson setup .. \ | |
--buildtype=release \ | |
-Dgpl=enabled \ | |
-Dpackage-origin=https://gitlab.freedesktop.org/gstreamer/gstreamer.git | |
RUN ninja | |
RUN ninja install | |
# Replace with proper arch if necessary | |
ENV LD_LIBRARY_PATH="/usr/local/lib/aarch64-linux-gnu" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment