No such element or plugin 'v4l2h264enc'
I'm trying to install GStreamer into a docker container in a Raspberry Pi with Raspbian. It works ok but v4l2h264enc
is not available.
# gst-inspect-1.0 v4l2h264enc
No such element or plugin 'v4l2h264enc'
I have tried to follow the same installation but installing directly to Raspbian and everything worked fine with v4l2h264enc
included.
This is my Dockerfile:
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu:19.10
# Use GCE apt servers
ARG GCE_REGION=us-west1
RUN cp /etc/apt/sources.list /etc/apt/sources.list.orig && \
sed -i "s/archive.ubuntu.com/${GCE_REGION}.gce.archive.ubuntu.com/g" /etc/apt/sources.list
# Install essentials
RUN \
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
curl \
build-essential \
ca-certificates \
git \
vim
WORKDIR /opt
ARG GST_BUILD_VERSION=1.18
# cloner repo for each gstreamer module
RUN git clone https://github.com/GStreamer/gst-build && cd gst-build && git checkout ${GST_BUILD_VERSION}
WORKDIR /opt
# Install base build deps
RUN \
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
autopoint \
autoconf \
automake \
autotools-dev \
libtool \
gettext \
bison \
flex \
gtk-doc-tools \
libtool-bin \
libgtk2.0-dev \
libgl1-mesa-dev \
libopus-dev \
libpulse-dev \
libgirepository1.0-dev \
libv4l-dev \
libmount-dev \
libva-dev \
libusrsctp-dev \
libvpx-dev
RUN \
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
libwebrtc-audio-processing-dev \
libssl-dev \
libsrtp2-dev
ARG USRSCTP_VERSION=6ce0f8fe7455e566a6833684ec5983547658856d
RUN \
git clone https://github.com/sctplab/usrsctp.git && \
cd usrsctp && git checkout ${USRSCTP_VERSION} && \
./bootstrap && ./configure --prefix=/usr && \
make && make install && make clean
# Install meson build deps
RUN \
apt-get update && apt install -y python3-pip python-gi-dev ninja-build && \
pip3 install meson
# Install libnice from source
ARG LIBNICE_VERSION=d6087ae5e0c1de2555f64d792c144d49bd816920
RUN \
git clone https://gitlab.freedesktop.org/libnice/libnice.git && \
cd libnice && git checkout ${LIBNICE_VERSION} && \
meson build --prefix=/usr && \
ninja -C build install
# Build and install gst-plugins-ugly from source
# This package includes the x264 encoder for non-nvenc accelerated pipelines.
RUN \
apt-get update && apt install -y libx264-155 libx264-dev
# Install meson build deps
RUN \
apt-get update && apt install -y python3-pip python-gi-dev ninja-build && \
pip3 install meson
# Build gstreamer
RUN \
cd /opt/gst-build && \
meson builddir && \
ninja -C builddir