We use some essential cookies to make our website work.

We use optional cookies, as detailed in our cookie policy, to remember your settings and understand how you use our website.

MMFreddy
Posts: 6
Joined: Fri Feb 19, 2021 11:21 am

v4l2h264enc problem in Gstreamer 1.18

Fri Feb 26, 2021 10:21 am

Hi all,
I would kindly ask you for a help with my issue. I want to use V4L2 h264 encoding on 64bit system with Gstreamer 1.18.3
I have this problem with raising error everytime:
gst-launch-1.0 videotestsrc ! v4l2h264enc ! fakesink

Code: Select all

v4l2bufferpool gstv4l2bufferpool.c:814:gst_v4l2_buffer_pool_start:<v4l2h264enc0:pool0:src> Uncertain or not enough buffers, enabling copy threshold
v4l2bufferpool gstv4l2bufferpool.c:683:gst_v4l2_buffer_pool_streamon:<v4l2h264enc0:pool0:sink> error with STREAMON 3 (No such process)
v4l2bufferpool gstv4l2bufferpool.c:2110:gst_v4l2_buffer_pool_process:<v4l2h264enc0:pool0:sink> failed to start streaming
v4l2videoenc gstv4l2videoenc.c:825:gst_v4l2_video_enc_handle_frame:<v4l2h264enc0> error: Failed to process frame.
v4l2videoenc gstv4l2videoenc.c:825:gst_v4l2_video_enc_handle_frame:<v4l2h264enc0> error: Maybe be due to not enough memory or failing driver
I raised the issue in gst-plugins-good here https://gitlab.freedesktop.org/gstreame ... issues/849 and it seems to be problem with kernel communication. They changed the way of gstreamer handling kernel levels and drivers. Users of other boards (NXP, Nvidia, ...) are not complaining about this issue, so I think there might be problem in RPi kernel.

I followed this issue on github: https://github.com/raspberrypi/linux/issues/3974 where are available kernel logs and more information about it. But I don't have enough support there, so I'm asking here. Has anyone here had this issue before, or still having?
Do you have any suggestions what to try?

uname -a
Linux raspberrypi 5.10.16-v7l+ #1402 SMP Tue Feb 16 14:12:18 GMT 2021 armv7l GNU/Linux
Gstreamer I'm using: https://packages.debian.org/bullseye/gs ... ugins-good also I've compiled it by myself with same error.

Best regards
Freddy

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Fri Mar 05, 2021 1:20 pm

Half duplicated at viewtopic.php?f=38&t=305634, but that is said to be on 1.14 instead of 1.18.

I've had a fiddle. GStreamer isn't choosing a suitable level for the encode.

With the simple

Code: Select all

GST_DEBUG=v4l2*:7 gst-launch-1.0 -vvvv videotestsrc ! v4l2h264enc ! filesink location=foo.h264
I get logged the lines

Code: Select all

0:00:00.154399698 16087  0x11227b0 DEBUG           v4l2videoenc gstv4l2videoenc.c:530:gst_v4l2_video_enc_negotiate:<v4l2h264enc0> Negotiating H264 profile and level.
0:00:00.154517900 16087  0x11227b0 DEBUG           v4l2videoenc gstv4l2videoenc.c:933:gst_v4l2_video_enc_src_query:<v4l2h264enc0> Returning src caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string){ 1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1, 4.2 }, profile=(string){ baseline, constrained-baseline, main, high }, width=(int)[ 32, 1920 ], height=(int)[ 32, 1920 ], colorimetry=(string){ 2:4:5:4, smpte240m, bt709, 2:4:5:2, 2:4:5:3, 1:4:7:1, 2:4:7:1, 2:4:12:8, bt2020, 2:0:0:0 }, framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.154600417 16087  0x11227b0 TRACE           v4l2videoenc gstv4l2videoenc.c:436:negotiate_profile_and_level:<v4l2h264enc0> Trying profile baseline
0:00:00.154721600 16087  0x11227b0 TRACE           v4l2videoenc gstv4l2videoenc.c:479:negotiate_profile_and_level:<v4l2h264enc0> Trying level 1
0:00:00.154828932 16087  0x11227b0 DEBUG           v4l2videoenc gstv4l2videoenc.c:582:gst_v4l2_video_enc_negotiate:<v4l2h264enc0> Selected H264 profile baseline at level 1
0:00:00.155205463 16087  0x11227b0 DEBUG                   v4l2 gstv4l2object.c:4075:gst_v4l2_object_set_format:<v4l2h264enc0:src> Setting format to video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)1, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
H264 level 1 equates to a max of 99 macroblocks per frame, or 176×144, and max 1485 macroblocks/sec, or 15fps for 176x144.
You're asking for 320x240 @ 30fps which breaks the macroblocks/frame and macroblocks/sec limits, and is therefore rejected. The firmware does log the lines

Code: Select all

2752715.698: venc: enc_open: consistency failed
2752715.777: venc: enc_open: other failure
"consistency failed" means that the requested parameters (eg level, profile, resolution, framerate) are inconsistent.

Running

Code: Select all

gst-launch-1.0 -vvvv videotestsrc ! v4l2h264enc ! 'video/x-h264,level=(string)3' ! filesink location=foo.h264
works fine as level 3.0 allows for 352×[email protected]

OK the kernel driver should be returning the buffers, but otherwise it is doing the correct thing.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

ThouzonMonk
Posts: 7
Joined: Sat Apr 11, 2020 2:17 pm

Re: v4l2h264enc problem in Gstreamer 1.18

Fri Mar 12, 2021 11:45 am

6by9 You saved me, I had been stuck on this for a while (I didn't dare to ask, being not confident enough in video for Linux, I was afraid of make people loose their time :oops: ).

I can report

Code: Select all

gst-launch-1.0 videotestsrc ! v4l2h264enc ! 'video/x-h264,level=(string)3' ! filesink location=foo.h264
works on both a zero and a 64bits rpi4 :

zero:

Code: Select all

rpi_zero: ~ # uname -a
Linux (none) 5.10.14+ #1 Tue Feb 9 08:32:13 CET 2021 armv6l GNU/Linux
rpi_zero: ~ # gst-launch-1.0 --version
gst-launch-1.0 version 1.18.1
GStreamer 1.18.1
Unknown package origin

RPi4 64bits:

Code: Select all

rpi4: ~ # uname -a
Linux (none) 5.10.14-v8+ #2 SMP PREEMPT Wed Feb 10 11:11:13 CET 2021 aarch64 GNU/Linux
rpi4: ~ # gst-launch-1.0 --version
gst-launch-1.0 version 1.18.1
GStreamer 1.18.1
Unknown package origin
Would it be of any help for the gstreamer project to point this problem? Has it been done? Can I do anything to help?

Wonderful job to have a gstrealer v4l2 hwaccel element on the raspberries!

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Fri Mar 12, 2021 12:32 pm

ThouzonMonk wrote:
Fri Mar 12, 2021 11:45 am
Would it be of any help for the gstreamer project to point this problem? Has it been done? Can I do anything to help?

Wonderful job to have a gstrealer v4l2 hwaccel element on the raspberries!
GStreamer folk are already aware - see https://gitlab.freedesktop.org/gstreame ... ote_827856
I've also had discussions with Nicolas over it.

It's not a clear cut thing on who is responsible for setting/restricting the level.
The kernel driver could take the resolution and framerate and amend the profile control to reflect the minimum level required, but that then means that the kernel driver needs to have that magic table of levels vs MB/frame and MB/sec limits. And it leaves the awkward one of:
- set resolution X, so it increases the min and therefore current level to X
- reduce the resolution again, so do we also reduce the level to match?
Now you've got to make a note of whether it was an automatic configuration or not, and does the application getting and setting the same value count as being a specific configuration that shouldn't be changed. It's all just messy.

GStreamer is currently asking V4L2 what it supports in terms of levels, and compares it against what the sink supports. It then chooses the first common value between those two sets of caps, which happens to be level 1.

Signalling the level correctly in the stream is needed to ensure the decoder can correctly configure itself. Too low and it'll allocate insufficient resources. Too high and it wastes resources (although does then allow for midstream reconfiguration without reallocating).
Always encoding saying level 4 would be one option for up to 1080p30 @ 20Mbit/s - that is what GStreamer was effectively doing in earlier versions as it wasn't changing the level control at all, and 4 was the default. But that still doesn't cover higher bitrates (level 4.1) or 1080p50/60 (level 4.2) that the encoder will do it's best over, so there is no one magic bullet to solve setting the level.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sun Mar 21, 2021 9:37 am

Hi, I've loaded gstreamer 1.18.4, and after reading this thread, I ran this pipeline , but I am getting this error, regardless of what I set the level at.

gst-launch-1.0 -vvv videotestsrc ! v4l2h264enc ! 'video/x-h264,level=(string) 3' ! fakesink
WARNING: erroneous pipeline: could not parse caps "video/x-h264,level=(string)\ 3"

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Sun Mar 21, 2021 11:26 am

rma153 wrote:
Sun Mar 21, 2021 9:37 am
Hi, I've loaded gstreamer 1.18.4, and after reading this thread, I ran this pipeline , but I am getting this error, regardless of what I set the level at.

gst-launch-1.0 -vvv videotestsrc ! v4l2h264enc ! 'video/x-h264,level=(string) 3' ! fakesink
WARNING: erroneous pipeline: could not parse caps "video/x-h264,level=(string)\ 3"
At a guess based on that error you've inserted a space between the closing bracket and the number 3.
" 3" is an invalid level. "3" would be valid.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sun Mar 21, 2021 6:44 pm

now it works (at level 4.2) but ends due to buffer issue

Redistribute latency...
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:39:05.3 / 99:99:99.
** (gst-launch-1.0:8780): CRITICAL **: 18:38:11.160: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed

(gst-launch-1.0:8780): GStreamer-CRITICAL **: 18:38:11.161: gst_pad_push: assertion 'GST_IS_BUFFER (buffer)' failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:57.960194337
Setting pipeline to NULL ...
Freeing pipeline ...

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sun Mar 21, 2021 7:30 pm

level 4 works the longest (56 seconds)

Redistribute latency...
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:39:05.3 / 99:99:99.
** (gst-launch-1.0:8780): CRITICAL **: 18:38:11.160: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed

(gst-launch-1.0:8780): GStreamer-CRITICAL **: 18:38:11.161: gst_pad_push: assertion 'GST_IS_BUFFER (buffer)' failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:57.960194337
Setting pipeline to NULL ...
Freeing pipeline ...

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sun Mar 21, 2021 7:43 pm

sorry this is what I currently see

pi@navio:~ $ gst-launch-1.0 -vvv videotestsrc ! v4l2h264enc ! 'video/x-h264,level=(string)4' ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)4, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
Redistribute latency...
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:56:29.2 / 99:99:99.
** (gst-launch-1.0:11674): CRITICAL **: 19:25:16.640: gst_video_frame_map_id: assertion 'GST_IS_BUFFER (buffer)' failed

(gst-launch-1.0:11674): GStreamer-CRITICAL **: 19:25:16.641: gst_pad_push: assertion 'GST_IS_BUFFER (buffer)' failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:01:23.766170581
Setting pipeline to NULL ...
Freeing pipeline ...
pi@navio:~ $

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Tue Mar 23, 2021 9:36 pm

Ok, this works fine for me

gst-launch-1.0 -vvv videotestsrc ! v4l2h264enc extra-controls="foo,video_bitrate=40000" ! 'video/x-h264,level=(string)2' ! fakesinif you want a lower level.

But This below does not (RPi4B, I am using a Gopro 1080p/30, connected to B101, gstreamer 1.18.4, followed all your Install instructions/commands for toshiba chip). Any suggestions?

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc ! 'video/x-h264,level=(string)4' ! filesink location = test_video.h264

pi@navio:~ $ gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,framerate=30/1,format=UYVY' ! v4l2h264enc extra-controls="foo,video_bitrate=40000" ! 'video/x-h264,level=(string)2' ! filesink location = test_video.h264
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Execution ended after 0:00:00.002827971
Setting pipeline to NULL ...
Freeing pipeline ...

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Tue Mar 23, 2021 9:48 pm

Have you set the timings on the TC358743 first? It doesn't support setting resolution or framerate except by setting the timings.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Tue Mar 23, 2021 11:01 pm

Yes, started the camera, Followed these steps below, then entered the pipeline command

v4l2-ctl --set-edid=file=1080P50EDID.txt --fix-edid-checksums

v4l2-ctl --query-dv-timings

v4l2-ctl --set-dv-bt-timings query

v4l2-ctl -V

v4l2-ctl -v pixelformat=UYVY

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Tue Mar 23, 2021 11:49 pm

her is my status log

pi@navio:~ $ v4l2-ctl --log-status

Status Log:

[72976.517467] unicam fe801000.csi: ================= START STATUS =================
[72976.519095] tc358743 0-000f: -----Chip status-----
[72976.519701] tc358743 0-000f: Chip ID: 0x00
[72976.520303] tc358743 0-000f: Chip revision: 0x00
[72976.520309] tc358743 0-000f: Reset: IR: 1, CEC: 1, CSI TX: 0, HDMI: 0
[72976.520313] tc358743 0-000f: Sleep mode: off
[72976.520318] tc358743 0-000f: Cable detected (+5V power): yes
[72976.520831] tc358743 0-000f: DDC lines enabled: yes
[72976.521359] tc358743 0-000f: Hotplug enabled: yes
[72976.521964] tc358743 0-000f: CEC enabled: no
[72976.521968] tc358743 0-000f: -----Signal status-----
[72976.521972] tc358743 0-000f: TMDS signal detected: yes
[72976.521977] tc358743 0-000f: Stable sync signal: yes
[72976.521981] tc358743 0-000f: PHY PLL locked: yes
[72976.521986] tc358743 0-000f: PHY DE detected: yes
[72976.528604] tc358743 0-000f: Detected format: 1920x1080p30.0 (2200x1125)
[72976.528609] tc358743 0-000f: horizontal: fp = 0, -sync = 280, bp = 0
[72976.528614] tc358743 0-000f: vertical: fp = 0, -sync = 45, bp = 0
[72976.528619] tc358743 0-000f: pixelclock: 74250000
[72976.528624] tc358743 0-000f: flags (0x0):
[72976.528629] tc358743 0-000f: standards (0x0):
[72976.528634] tc358743 0-000f: Configured format: 0x0p0.0 (0x0)
[72976.528639] tc358743 0-000f: horizontal: fp = 0, -sync = 0, bp = 0
[72976.528644] tc358743 0-000f: vertical: fp = 0, -sync = 0, bp = 0
[72976.528648] tc358743 0-000f: pixelclock: 0
[72976.528653] tc358743 0-000f: flags (0x0):
[72976.528657] tc358743 0-000f: standards (0x0):
[72976.528662] tc358743 0-000f: -----CSI-TX status-----
[72976.528666] tc358743 0-000f: Lanes needed: 0
[72976.528671] tc358743 0-000f: Lanes in use: 2
[72976.529274] tc358743 0-000f: Waiting for particular sync signal: no
[72976.529877] tc358743 0-000f: Transmit mode: no
[72976.530480] tc358743 0-000f: Receive mode: no
[72976.531082] tc358743 0-000f: Stopped: no
[72976.531087] tc358743 0-000f: Color space: YCbCr 422 16-bit
[72976.531640] tc358743 0-000f: -----HDMI status-----
[72976.531645] tc358743 0-000f: HDCP encrypted content: no
[72976.531649] tc358743 0-000f: Input color space: RGB limited range
[72976.532164] tc358743 0-000f: AV Mute: off
[72976.532677] tc358743 0-000f: Deep color mode: 8-bits per channel
[72976.535146] tc358743 0-000f: HDMI infoframe: Auxiliary Video Information (AVI), version 2, length 13
[72976.535152] tc358743 0-000f: colorspace: RGB
[72976.535157] tc358743 0-000f: scan mode: Underscan
[72976.535162] tc358743 0-000f: colorimetry: ITU601
[72976.535167] tc358743 0-000f: picture aspect: 16:9
[72976.535172] tc358743 0-000f: active aspect: 14:9
[72976.535177] tc358743 0-000f: itc: No Data
[72976.535182] tc358743 0-000f: extended colorimetry: xvYCC 601
[72976.535187] tc358743 0-000f: quantization range: Limited
[72976.535191] tc358743 0-000f: nups: Unknown Non-uniform Scaling
[72976.535196] tc358743 0-000f: video code: 34
[72976.535201] tc358743 0-000f: ycc quantization range: Limited
[72976.535206] tc358743 0-000f: hdmi content type: Graphics
[72976.535211] tc358743 0-000f: pixel repeat: 0
[72976.535216] tc358743 0-000f: bar top 0, bottom 0, left 0, right 0
[72976.535221] unicam fe801000.csi: -----Receiver status-----
[72976.535225] unicam fe801000.csi: V4L2 width/height: 1920x1080
[72976.535230] unicam fe801000.csi: Mediabus format: 0000200f
[72976.535235] unicam fe801000.csi: V4L2 format: UYVY
[72976.535239] unicam fe801000.csi: Unpacking/packing: 0 / 0
[72976.535244] unicam fe801000.csi: ----Live data----
[72976.535248] unicam fe801000.csi: Programmed stride: 3840
[72976.535253] unicam fe801000.csi: Detected resolution: 0x0
[72976.535257] unicam fe801000.csi: Write pointer: e0a00000
[72976.535262] unicam fe801000.csi: ================== END STATUS ==================

RedMarsBlueMoon
Posts: 501
Joined: Mon Apr 06, 2020 3:49 am

Re: v4l2h264enc problem in Gstreamer 1.18

Wed Mar 24, 2021 4:46 am

This might be completely irrelevant but maybe it could be of some use.
I just thought it was hilarious that I could do,

Code: Select all

cat /dev/video0 | gst-launch-1.0 -v fdsrc ! filesink location=test.h264
(of course the driver is already parked in H264 mode, and this is with a picam2)

EDIT: as soon as I wrote that I also tested this which worked,

Code: Select all

cat /dev/video0 > monkey.h264

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Wed Mar 24, 2021 7:32 am

RedMarsBlueMoon wrote:
Wed Mar 24, 2021 4:46 am
This might be completely irrelevant but maybe it could be of some use.
I just thought it was hilarious that I could do,

Code: Select all

cat /dev/video0 | gst-launch-1.0 -v fdsrc ! filesink location=test.h264
(of course the driver is already parked in H264 mode, and this is with a picam2)

EDIT: as soon as I wrote that I also tested this which worked,

Code: Select all

cat /dev/video0 > monkey.h264
Yes, V4L2 supports read and write modes for capture and output devices respectively. It's in the docs - https://www.kernel.org/doc/html/latest/ ... 4l/rw.html
Totally irrelevant here though.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Wed Mar 24, 2021 4:40 pm

6x9, this pipeline below works (i.e., no errors),
gst-launch-1.0 -vvv videotestsrc ! v4l2h264enc extra-controls="foo,video_bitrate=40000" ! 'video/x-h264,level=(string)2' ! filesink location = test_video.h264

and it displays this while it is processing
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:00.0 / 99::99:99.

I enter control C to stop it,
but I don't find any video in filesink location = test_video.h264, just an empty plain text document.

Any suggestion?


pi@navio:~ $ gst-launch-1.0 -vvv videotestsrc ! v4l2h264enc extra-controls="foo,video_bitrate=40000" ! 'video/x-h264,level=(string)2' ! filesink location = test_video.h264
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
Redistribute latency...
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:10:39.830533800
Setting pipeline to NULL ...

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Wed Mar 24, 2021 4:58 pm

rma153 wrote:
Wed Mar 24, 2021 4:40 pm
Any suggestion?
Don't put extraneous spaces in commands
location=test_video.h264
not
location = test_video.h264
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

RedMarsBlueMoon
Posts: 501
Joined: Mon Apr 06, 2020 3:49 am

Re: v4l2h264enc problem in Gstreamer 1.18

Wed Mar 24, 2021 5:26 pm

To my untrained eye this looks a bit unfamiliar I haven't come across it when trying to use gstreamer ,

Code: Select all

multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
where is that coming from?

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Wed Mar 24, 2021 6:15 pm

RedMarsBlueMoon wrote:
Wed Mar 24, 2021 5:26 pm
To my untrained eye this looks a bit unfamiliar I haven't come across it when trying to use gstreamer ,

Code: Select all

multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
where is that coming from?
multiview would be another name for stereoscopic or 3D.
It looks like it was added in about 1.5, so totally irrelevant to any discussion here - https://bugzilla.gnome.org/show_bug.cgi?id=611157
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Thu Mar 25, 2021 2:17 am

ok, making progress, but my mkv file shows that I'm only processing maybe one or two frames


pi@navio:~ $ gst-launch-1.0 -vvv -e videotestsrc ! v4l2h264enc extra-controls="foo,video_bitrate=40000" ! 'video/x-h264,level=(string)2' ! h264parse ! matroskamux ! filesink location=2M.mkv
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono
Redistribute latency...
/GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0.GstPad:sink: caps = video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, interlace-mode=(string)progressive, colorimetry=(string)bt601, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, codec_data=(buffer)01428014ffe100212742801495a0507e84000003000400000300f3808030d0001e849bdee01e244d4001000528ce013720
/GstPipeline:pipeline0/GstMatroskaMux:matroskamux0.GstMatroskamuxPad:video_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)2, profile=(string)baseline, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, codec_data=(buffer)01428014ffe100212742801495a0507e84000003000400000300f3808030d0001e849bdee01e244d4001000528ce013720
/GstPipeline:pipeline0/GstMatroskaMux:matroskamux0.GstPad:src: caps = video/x-matroska
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-matroska
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstMatroskaMux:matroskamux0.GstPad:src: caps = video/x-matroska, streamheader=(buffer)< 1a45dfa301000000000000144282896d6174726f736b610042878102428581021853806701ffffffffffffff114d9b74010000000000008c4dbb010000000000001253ab841549a96653ac88ffffffffffffffff4dbb010000000000001253ab841654ae6b53ac88ffffffffffffffff4dbb010000000000001253ab841043a77053ac88ffffffffffffffff4dbb010000000000001253ab841c53bb6b53ac88ffffffffffffffff4dbb010000000000001253ab841254c36753ac88ffffffffffffffff1549a966010000000000007473a490da790694b2737a1daa1d584e7d7e67222ad7b1830f424044898800000000000000004d80a54753747265616d6572206d6174726f736b616d75782076657273696f6e20312e31382e34005741994753747265616d6572204d6174726f736b61206d757865720044618808dbc7434a5a82581654ae6b010000000000009eae0100000000000095d7810183810173c588e8cfce8f7eb7f23923e3838401fca055536e86566964656f00e00100000000000024b0820140ba81f09a810255b0010000000000001055b9810155b1810655ba810655bb81068690565f4d504547342f49534f2f4156430063a2b101428014ffe100212742801495a0507e84000003000400000300f3808030d0001e849bdee01e244d4001000528ce013720 >
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-matroska, streamheader=(buffer)< 1a45dfa301000000000000144282896d6174726f736b610042878102428581021853806701ffffffffffffff114d9b74010000000000008c4dbb010000000000001253ab841549a96653ac88ffffffffffffffff4dbb010000000000001253ab841654ae6b53ac88ffffffffffffffff4dbb010000000000001253ab841043a77053ac88ffffffffffffffff4dbb010000000000001253ab841c53bb6b53ac88ffffffffffffffff4dbb010000000000001253ab841254c36753ac88ffffffffffffffff1549a966010000000000007473a490da790694b2737a1daa1d584e7d7e67222ad7b1830f424044898800000000000000004d80a54753747265616d6572206d6174726f736b616d75782076657273696f6e20312e31382e34005741994753747265616d6572204d6174726f736b61206d757865720044618808dbc7434a5a82581654ae6b010000000000009eae0100000000000095d7810183810173c588e8cfce8f7eb7f23923e3838401fca055536e86566964656f00e00100000000000024b0820140ba81f09a810255b0010000000000001055b9810155b1810655ba810655bb81068690565f4d504547342f49534f2f4156430063a2b101428014ffe100212742801495a0507e84000003000400000300f3808030d0001e849bdee01e244d4001000528ce013720 >
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:57.584974691
Setting pipeline to NULL ...

(gst-launch-1.0:14130): GStreamer-CRITICAL **: 23:55:21.615: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
Freeing pipeline ...

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Thu Mar 25, 2021 3:40 am

6x9
I should mention that I am still at Kernel 4.19.127.
I backported gstreamer 1.18.4 to this Kernel

But I have no other choice because Kernel 5.4 is not supported on my HAT HW vendor

This is likely why I am having so much trouble.

This is Likely the reason that this normal command below is not working for me:

pi@navio:~ $ gst-launch-1.0 -vvv v4l2src ! "video/x-raw,framerate=30/1,format=UYVY" ! v4l2h264enc extra-controls="controls,video_bitrate=256000;" ! 'video/x-h264,profile=high,level=(string)4' ! h264parse ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Execution ended after 0:00:00.000304334
Setting pipeline to NULL ...
Freeing pipeline ...

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 18271
Joined: Wed Dec 04, 2013 11:27 am
Location: Cambridge, ZZ9 Plural Z Alpha

Re: v4l2h264enc problem in Gstreamer 1.18

Thu Mar 25, 2021 2:51 pm

Sorry I'm really not going to try providing support for 4.19.
5.10 is the current kernel that is supported, so even 5.4 support will be limited.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sat Mar 27, 2021 1:02 am

ok, I just clean installed 5.10, the new image from the raspberry.org download site
I used
sudo apt-get install gstreamer1.0
but I received these errors

pi@raspberrypi:~ $ sudo apt-get install gstreamer1.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'gstreamer1.0-python-dbg-plugin-loader' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-ugly-amr' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-videosink' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-alsa' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-ugly-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-ugly-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-base-apps' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-rtsp-dbg' for regex 'gstreamer1.0'
Note, selecting 'libgstreamer1.0-dev' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-tools' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-python3-dbg-plugin-loader' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-good' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-qapt' for regex 'gstreamer1.0'
Note, selecting 'libgstreamer1.0-0-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-espeak' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-nice' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-rpi-dbgsym' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-rpi' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-opencv' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-rpi-config' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-videosource' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-crystalhd' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-fluendo-mp3' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-rtsp' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-bad' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-base' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-audiosource' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-gnonlin-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-gnonlin-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-pipewire' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-bad-videoparsers' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-really-bad' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-clutter' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-pulseaudio' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-pocketsphinx' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-bad-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-bad-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-gtk3' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-visualization' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-bad-faad' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-generic' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-lame' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-x' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-python-plugin-loader' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-rtp' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-generic-dbgsym' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-gnonlin' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-vaapi-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-generic-config' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-libav' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-base-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-good-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-base-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-good-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-dvswitch' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-clutter-3.0' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-vaapi' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-libav-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-packagekit' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-python3-plugin-loader' for regex 'gstreamer1.0'
Note, selecting 'libgstreamer1.0-0' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-dbg' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-omx-bellagio-config' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-gl' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-ugly' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-doc' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-audiosink' for regex 'gstreamer1.0'
Note, selecting 'gstreamer1.0-plugins-bad' instead of 'gstreamer1.0-plugins-bad-faad'
Note, selecting 'gstreamer1.0-plugins-bad' instead of 'gstreamer1.0-plugins-bad-videoparsers'
Note, selecting 'gstreamer1.0-plugins-ugly' instead of 'gstreamer1.0-plugins-ugly-amr'
gstreamer1.0-alsa is already the newest version (1.14.4-2).
gstreamer1.0-libav is already the newest version (1.15.0.1+git20180723+db823502-2).
gstreamer1.0-plugins-bad is already the newest version (1.14.4-1+rvt+deb10u1).
gstreamer1.0-plugins-base is already the newest version (1.14.4-2).
gstreamer1.0-x is already the newest version (1.14.4-2).
libgstreamer1.0-0 is already the newest version (1.14.4-1).
libgstreamer1.0-0 set to manually installed.
gstreamer1.0-omx is already the newest version (1.14.4-1+rpt1).
gstreamer1.0-omx-rpi is already the newest version (1.14.4-1+rpt1).
gstreamer1.0-omx-rpi set to manually installed.
gstreamer1.0-omx-rpi-config is already the newest version (1.14.4-1+rpt1).
gstreamer1.0-omx-rpi-config set to manually installed.
gstreamer1.0-plugins-good is already the newest version (1.14.4-1+rpt1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
gstreamer1.0-omx-dbg : Depends: gstreamer1.0-omx (= 1.0.0.1-0+rpi12+jessiepmg) but 1.14.4-1+rpt1 is to be installed
gstreamer1.0-python3-dbg-plugin-loader : Conflicts: gstreamer1.0-python3-plugin-loader but 1.14.4-1 is to be installed
gstreamer1.0-python3-plugin-loader : Conflicts: gstreamer1.0-python3-dbg-plugin-loader but 1.14.4-1 is to be installed
E: Unable to correct problems, you have held broken packages.
pi@raspberrypi:~ $

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sat Mar 27, 2021 8:30 am

This worked
sudo apt-get install gstreamer1.0-tools

gst-inspect-1.0 --gst-version
GStreamer Core Library version 1.14.4

Since Kernel 5.10 only provides gstreamer 1.14.4, next I'll have to backport 1.18

rma153
Posts: 73
Joined: Sat Nov 12, 2016 6:17 am

Re: v4l2h264enc problem in Gstreamer 1.18

Sat Mar 27, 2021 9:56 pm

sweet

pi@raspberrypi:~ $ gst-inspect-1.0 --gst-version
GStreamer Core Library version 1.18.4
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
pi@raspberrypi:~ $

now, back to making v4l2h264enc working with B101 and GoPro

Return to “Graphics, sound and multimedia”