No such element or plugin 'v4l2h264enc'

Nicolas Dufresne nicolas at ndufresne.ca
Tue Oct 20 22:54:30 UTC 2020


Le mar. 20 oct. 2020 16 h 00, Miguel Won <miguelwon at gmail.com> a écrit :

> Hi,
>
> Following the issue raised here:
>
> https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/130#note_667565
>
> I looking for some help. I'm trying to run a GStreamer pipeline in a
> docker container installed in a Raspberry Pi with Raspbian. It works fine
> except if I use v4l2h264enc. For some reason it is not installed during the
> gst-build process:
>
> # gst-inspect-1.0 v4l2h264encNo such element or plugin 'v4l2h264enc'
>
>
> To reproduce the problem. Raspberry Pi 4 with
>
>
> PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
>
> NAME="Raspbian GNU/Linux"
>
> VERSION_ID="10"
>
> VERSION="10 (buster)"
>
> VERSION_CODENAME=buster
>
> ID=raspbian
>
> ID_LIKE=debian
>
>
>
> build docker with the dockerfile I send bellow, run, log to the container
> and try:
>
>
> gst-inspect-1.0 v4l2h264enc
>

So you are probing the codec from inside a docker ? Have you mapped require
/dev/videoX nodes into your container? This element will only be available
if driver support is found.


>
> Thanks!
>
>
>
> The 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
> <http://archive.ubuntu.com/$%7BGCE_REGION%7D.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 \
>         libgudev-1.0-0 \
>         libgudev-1.0-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
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201020/75a962ea/attachment.htm>


More information about the gstreamer-devel mailing list