I'm looking for a non-GPL licenced x264 video encoder that I can use on the Raspberry Pi v3 (or 3 B+) hardware running some Linux variant. Ideally this encoder should support the NEON video acceleration block that is part of the Raspberry
Pi v3 or 3B+ SoC. In the following 19-Nov-2017 post, Nicolas Dufresne summarises use cases for some H.264 encoders: https://lists.freedesktop.org/archives/gstreamer-devel/2017-November/066181.html The encoders Nicolas lists are: x264enc (GPL), vaapih264enc (Intel H/W), nvh264enc (nvidia H/W), openh264enc (Cisco free codec for PCs), omxh264enc (Raspberry Pi) & v4l2h264enc (with GStreamer 1.14+). Of these, it would seem that omxh264enc & v4l2h264enc would be of interest. I've not been able to get the video4linux2 plugin (from gst-plugins-good) to provide more than the three elements: v4l2src, v4l2sink & v4l2radio even when I compile v4l-utils v1.14.2 and gstreamer v1.14.1 from source. I see that the v4l2h264enc functionality was added to gst-plugins-good via Bug 728438 https://bugzilla.gnome.org/show_bug.cgi?id=728438 but I clearly don't understand how to gain access to it. Is it possible to use this on a Raspberry Pi 3 or 3B+ and would it be NEON accelerated? I have tried an earlier version of omxh264enc but it’s didn’t like the stream from my camera and I’m yet to try again with GStreamer release 1.14.1. I'm aware of the very good x264enc element which is nominally GPL licenced but is supposed to be available under alternate licencing if you contact them but all three attempts I have made to do so have gone unanswered. Does someone know of a contact method that works? Please help! --- Matthew Thyer (08) 8313 9283 4.38 Ingkarni Wardli Adelaide University _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Helo Matthew,
take a look at https://github.com/youviewtv/gst-mmal.git
It's working, i use them.
Peter
Gesendet: Dienstag, 05. Juni 2018 um 05:12 Uhr
Von: "Matthew Thyer" <[hidden email]> An: "Discussion of the development of and with GStreamer" <[hidden email]> Betreff: non-GPL H.264 video encoder element for Raspberry Pi 3 or 3B+? I'm looking for a non-GPL licenced x264 video encoder that I can use on the Raspberry Pi v3 (or 3 B+) hardware running some Linux variant. Ideally this encoder should support the NEON video acceleration block that is part of the Raspberry Pi v3 or 3B+ SoC.
In the following 19-Nov-2017 post, Nicolas Dufresne summarises use cases for some H.264 encoders: https://lists.freedesktop.org/archives/gstreamer-devel/2017-November/066181.html The encoders Nicolas lists are: x264enc (GPL), vaapih264enc (Intel H/W), nvh264enc (nvidia H/W), openh264enc (Cisco free codec for PCs), omxh264enc (Raspberry Pi) & v4l2h264enc (with GStreamer 1.14+).
Of these, it would seem that omxh264enc & v4l2h264enc would be of interest.
I've not been able to get the video4linux2 plugin (from gst-plugins-good) to provide more than the three elements: v4l2src, v4l2sink & v4l2radio even when I compile v4l-utils v1.14.2 and gstreamer v1.14.1 from source. I see that the v4l2h264enc functionality was added to gst-plugins-good via Bug 728438 https://bugzilla.gnome.org/show_bug.cgi?id=728438 but I clearly don't understand how to gain access to it. Is it possible to use this on a Raspberry Pi 3 or 3B+ and would it be NEON accelerated?
I have tried an earlier version of omxh264enc but it’s didn’t like the stream from my camera and I’m yet to try again with GStreamer release 1.14.1.
I'm aware of the very good x264enc element which is nominally GPL licenced but is supposed to be available under alternate licencing if you contact them but all three attempts I have made to do so have gone unanswered. Does someone know of a contact method that works?
Please help!
--- Matthew Thyer (08) 8313 9283 4.38 Ingkarni Wardli Adelaide University
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Matthew Thyer
On Tue, 2018-06-05 at 03:12 +0000, Matthew Thyer wrote:
> I have tried an earlier version of omxh264enc but it’s didn’t like > the stream from my camera and I’m yet to try again with GStreamer > release 1.14.1. omxh264enc from gst-omx is the default encoder on the Raspberry Pi and should just work. How did it "not like" the stream from your camera? Cheers -Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by P S
Unfortunately gst-mmal hasn't got any encoders implemented (yet) :) Kris On Tue, 2018-06-05 at 07:08 +0200, P S wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Matthew Thyer
Hi Matthew, Le lun. 4 juin 2018 23:13, Matthew Thyer <[hidden email]> a écrit :
For now, on RPi, the only available solution is to do a custom build of gst-omx (build target RPi), which I believe is shipped with raspbian. This will provide you with an hardware accelerated H264 encoder. It's quite capable, a bit tricky to configure.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Tim Müller
I was using the standard GStreamer packages on Ubuntu Xenial (16.04 LTS) at the time which are version 1.8.3. At that time, Ubuntu didn't provide the gst-omx module in their repositories so I compiled it from source but had to go way way back to gst-omx version 1.2.0 (the newest version that pre-dated GStreamer version 1.8.3).
When I tried to encode the video using the video4linux2 source element (v4l2src) I got the following errors: 0:00:04.997773653 1735 0xbf53b0 ERROR omxh264enc gstomxh264enc.c:421:gst_omx_h264_enc_set_format:<omxh264enc-omxh264enc0> Unsupported profile constrained-baseline 0:00:04.997947195 1735 0xbf53b0 ERROR omxvideoenc gstomxvideoenc.c:1066:gst_omx_video_enc_set_format:<omxh264enc-omxh264enc0> Subclass failed to set the new format 0:00:04.998006674 1735 0xbf53b0 WARN videoencoder gstvideoencoder.c:623:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0> rejected caps video/x-raw, format=(string)I420, width=(int)320, height=(int)200, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, framerate=(fraction)90/1 0:00:05.005114283 1735 0xbf53b0 ERROR omxh264enc gstomxh264enc.c:421:gst_omx_h264_enc_set_format:<omxh264enc-omxh264enc0> Unsupported profile constrained-baseline 0:00:05.005219595 1735 0xbf53b0 ERROR omxvideoenc gstomxvideoenc.c:1066:gst_omx_video_enc_set_format:<omxh264enc-omxh264enc0> Subclass failed to set the new format 0:00:05.005275845 1735 0xbf53b0 WARN videoencoder gstvideoencoder.c:623:gst_video_encoder_setcaps:<omxh264enc-omxh264enc0> rejected caps video/x-raw, format=(string)I420, width=(int)320, height=(int)200, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, framerate=(fraction)90/1 0:00:05.005409127 1735 0xbf53b0 WARN GST_PADS gstpad.c:4092:gst_pad_peer_query:<v4l2src0:src> could not send sticky events 0:00:05.006386107 1735 0xbf53b0 WARN v4l2bufferpool gstv4l2bufferpool.c:748:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src> Uncertain or not enough buffers, enabling copy threshold 0:00:05.413047735 1735 0xbf53b0 WARN v4l2bufferpool gstv4l2bufferpool.c:1196:gst_v4l2_buffer_pool_dqbuf:<v4l2src0:pool:src> Driver should never set v4l2_buffer.field to ANY 0:00:05.413150026 1735 0xbf53b0 WARN v4l2bufferpool gstv4l2bufferpool.c:1741:gst_v4l2_buffer_pool_process:<v4l2src0:pool:src> Invalid buffer size, this is likely due to a bug in your driver, dropping 0:00:05.413205756 1735 0xbf53b0 WARN v4l2bufferpool gstv4l2bufferpool.c:1958:gst_v4l2_buffer_pool_process:<v4l2src0:pool:src> Dropping corrupted buffer without payload 0:00:05.418148311 1735 0xbf53b0 WARN v4l2bufferpool gstv4l2bufferpool.c:1741:gst_v4l2_buffer_pool_process:<v4l2src0:pool:src> Invalid buffer size, this is likely due to a bug in your driver, dropping I think the reason for these errors is described in the mailing list here: https://lists.freedesktop.org/archives/gstreamer-openmax/2013-December/000761.html I'm not too worried about this as I'm now compiling GStreamer version 1.14.1 from source and will be trying the new omxh264enc element again today. -----Original Message----- From: gstreamer-devel <[hidden email]> On Behalf Of Tim Müller Sent: Tuesday, 5 June 2018 5:57 PM To: [hidden email] Subject: Re: non-GPL H.264 video encoder element for Raspberry Pi 3 or 3B+? On Tue, 2018-06-05 at 03:12 +0000, Matthew Thyer wrote: > I have tried an earlier version of omxh264enc but it’s didn’t like the > stream from my camera and I’m yet to try again with GStreamer release > 1.14.1. omxh264enc from gst-omx is the default encoder on the Raspberry Pi and should just work. How did it "not like" the stream from your camera? Cheers -Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mercredi 06 juin 2018 à 00:20 +0000, Matthew Thyer a écrit :
> 0:00:05.005114283 1735 0xbf53b0 ERROR omxh264enc > gstomxh264enc.c:421:gst_omx_h264_enc_set_format:<omxh264enc- > omxh264enc0> Unsupported profile constrained-baseline The pi does not support that profile, try baseline or main. Nicolas _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks Nicolas,
I've a bit to learn yet regarding profiles -----Original Message----- From: gstreamer-devel <[hidden email]> On Behalf Of Nicolas Dufresne Sent: Wednesday, 6 June 2018 10:38 AM To: Discussion of the development of and with GStreamer <[hidden email]> Subject: Re: non-GPL H.264 video encoder element for Raspberry Pi 3 or 3B+? Le mercredi 06 juin 2018 à 00:20 +0000, Matthew Thyer a écrit : > 0:00:05.005114283 1735 0xbf53b0 ERROR omxh264enc > gstomxh264enc.c:421:gst_omx_h264_enc_set_format:<omxh264enc- > omxh264enc0> Unsupported profile constrained-baseline The pi does not support that profile, try baseline or main. Nicolas _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |