No such element or plugin 'v4l2h264enc'

Nicolas Dufresne nicolas at ndufresne.ca
Wed Oct 21 12:09:56 UTC 2020


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

> Yes, I also tried with the device mapping:
>
> pi at raspberrypi:~/Ubiquo/GSTREAMER/install $ docker run -it
> --device=/dev/video0:/dev/video0 -v /opt/vc/:/opt/vc gst-base
> root at 4e7f6736d7c4:/opt# cd gst-build/
> root at 4e7f6736d7c4:/opt/gst-build# python3 gst-env.py
> # gst-inspect-1.0 v4l2h264enc
> No such element or plugin 'v4l2h264enc'
>
> where "gst-base" is the name of the container. Does it need to be
> available at the time of the building process? Not really sure how to do it.
>

It's runtime. The plugin is called video4linux2. To debug further, try to
run:


GST_DEBUG="v4l*:7" gst-inspect-1.0 video4linux2

Then share the logs, we can read it together to see what isnt right in your
docker setup.



>
>
>
> Nicolas Dufresne <nicolas at ndufresne.ca> escreveu no dia terça, 20/10/2020
> à(s) 23:54:
>
>>
>>
>> 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
>>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
> _______________________________________________
> 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/20201021/5852d31f/attachment.htm>


More information about the gstreamer-devel mailing list