96 lines
2.8 KiB
Docker
96 lines
2.8 KiB
Docker
FROM debian:testing as builder
|
|
|
|
RUN printf "deb http://deb.debian.org/debian testing main contrib non-free\ndeb-src http://deb.debian.org/debian testing main contrib non-free" > /etc/apt/sources.list \
|
|
&& apt-get update \
|
|
&& apt-get -y install \
|
|
build-essential \
|
|
cmake \
|
|
git \
|
|
libasound2-dev \
|
|
libavcodec-dev \
|
|
libavdevice-dev \
|
|
libavfilter-dev \
|
|
libavformat-dev \
|
|
libavutil-dev \
|
|
libcurl4-openssl-dev \
|
|
libfdk-aac-dev \
|
|
libfontconfig-dev \
|
|
libfreetype6-dev \
|
|
libgl1-mesa-dev \
|
|
libjack-jackd2-dev \
|
|
libjansson-dev \
|
|
libluajit-5.1-dev \
|
|
libmbedtls-dev \
|
|
libnss3 \
|
|
libpulse-dev \
|
|
libqt5svg5-dev \
|
|
libqt5x11extras5-dev \
|
|
libspeexdsp-dev \
|
|
libswresample-dev \
|
|
libswscale-dev \
|
|
libudev-dev \
|
|
libv4l-dev \
|
|
libvlc-dev \
|
|
libx11-dev \
|
|
libx11-xcb-dev \
|
|
libx264-dev \
|
|
libxcb-randr0-dev \
|
|
libxcb-shm0-dev \
|
|
libxcb-xfixes0-dev \
|
|
libxcb-xinerama0-dev \
|
|
libxcb-xinput-dev \
|
|
libxcb1-dev \
|
|
libxcomposite-dev \
|
|
libxinerama-dev \
|
|
pkg-config \
|
|
python3-dev \
|
|
qtbase5-dev \
|
|
swig \
|
|
wget
|
|
|
|
RUN cd /tmp/ \
|
|
&& wget -nv https://cdn-fastly.obsproject.com/downloads/cef_binary_3770_linux64.tar.bz2 \
|
|
&& tar xvf cef_binary_3770_linux64.tar.bz2 \
|
|
&& rm -rf cef_binary_3770_linux64.tar.bz2 \
|
|
&& mv cef_* cef \
|
|
&& git clone --depth=1 --recursive https://github.com/obsproject/obs-studio
|
|
|
|
RUN mkdir /tmp/obs-studio/build \
|
|
&& cd /tmp/obs-studio/build \
|
|
&& cmake \
|
|
-DUNIX_STRUCTURE=0 \
|
|
-DCMAKE_INSTALL_PREFIX=/opt/obs-studio/ \
|
|
-DBUILD_BROWSER=ON \
|
|
-DCEF_ROOT_DIR="../../cef" \
|
|
.. \
|
|
&& make -j 4 \
|
|
&& make install
|
|
|
|
FROM debian:testing
|
|
|
|
# installing debian obs-studio first makes dependency management easier
|
|
RUN printf "deb http://deb.debian.org/debian testing main contrib non-free\ndeb-src http://deb.debian.org/debian testing main contrib non-free" > /etc/apt/sources.list \
|
|
&& apt-get update \
|
|
&& apt-get -y install --no-install-recommends obs-studio \
|
|
&& apt-get -y purge obs-studio \
|
|
&& apt-get -y install \
|
|
libatk-bridge2.0-0 \
|
|
libatk1.0-0 \
|
|
libatspi2.0-0 \
|
|
libcurl4 \
|
|
libfdk-aac2 \
|
|
libnss3 \
|
|
libvlc5 \
|
|
libxtst6 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /opt/obs-studio/ /opt/obs-studio/
|
|
|
|
ENV LD_LIBRARY_PATH=/opt/obs-studio/bin/64bit
|
|
|
|
# For some reason the workdir has to be this, otherwise it will not find the
|
|
# locales and fail to start
|
|
WORKDIR /opt/obs-studio/bin/64bit/
|
|
|
|
ENTRYPOINT ["/opt/obs-studio/bin/64bit/obs"]
|