No such element or plugin 'v4l2h264enc'

Miguel Won miguelwon at gmail.com
Wed Oct 21 00:06:26 UTC 2020


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.




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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20201021/95f60827/attachment-0001.htm>


More information about the gstreamer-devel mailing list