Building different versions of gstreamer

Andrea Marson andrea.marson.dave at gmail.com
Thu Apr 30 06:58:11 UTC 2020


Hi Patrick,
I think I figured it out.
Before switching to a new version, some housekeeping tasks have to be done.
This is what I do:
1. First, I uninstall all the artifacts. So, for each
repository (gstreamer, gst-plugins-good, etc.), I issue sudo make uninstall
2. Then, I run sudo ldconfig.
3. I clean all the repositories (actually, I erase them and download them
again to have a completely fresh checkout ... I'm pretty sure there is a
better way to do that, something like "make clean" or similar).
4. I checkout the tag of interest.
5. I build and install all the repositories.

This way I successfully moved from 1.16.2 to 1.14.4.

Andrea


> Date: Wed, 29 Apr 2020 07:02:45 -0700
> From: Patrick Cusack <patrickcusack at mac.com>
> To: Discussion of the development of and with GStreamer
>         <gstreamer-devel at lists.freedesktop.org>
> Subject: Re: Building different versions of gstreamer
> Message-ID: <45A75961-0E11-483B-AC99-2ECFF48F0642 at mac.com>
> Content-Type: text/plain; charset="utf-8"
>
> I don?t think Uninstalling is the issue. You are building an older
> version. Could you have incompatible libraries?
>
> Sent from my iPhone
>
> > On Apr 29, 2020, at 12:00 AM, Andrea Marson <
> andrea.marson.dave at gmail.com> wrote:
> >
> > ?
> > Hi,
> > I'm working with gstreamer on a PC running Ubuntu 18.04.
> > For my project, I need to build different versions of gstreamer along
> with its plugins.
> > For instance, I recently built tag 1.16.2. After that, I needed to build
> tag 1.14.4. However, building of gst-plugins-base 1.14.4 failed:
> >
> > linking of temporary binary failed: Command '['../../../libtool',
> '--mode=link', '--tag=CC', 'gcc', '-o',
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/pbutils/tmp-introspectvhvale74/GstPbutils-1.0',
> '-export-dynamic', '-g', '-O2',
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/pbutils/tmp-introspectvhvale74/GstPbutils-1.0.o',
> '-L.', 'libgstpbutils-1.0.la', '-L/usr/local/lib', '-rpath',
> '/usr/local/lib', '-L/usr/local/lib', '-rpath', '/usr/local/lib',
> '-L../../../gst-libs/gst/tag/', '-L../../../gst-libs/gst/video/',
> '-L../../../gst-libs/gst/audio/',
> '-L/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/tag/.libs',
> '-L/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/video/.libs',
> '-L/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/audio/.libs',
> '-L/usr/local/lib', '-lgio-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0',
> '-p
>  thread', '-lgsttag-1.0', '-lgstvideo-1.0', '-lgstaudio-1.0',
> '-lgstbase-1.0', '-lgstreamer-1.0', '-lgobject-2.0', '-lglib-2.0']'
> returned non-zero exit status 1.
> > Makefile:1285: recipe for target 'GstPbutils-1.0.gir' failed
> > make[5]: *** [GstPbutils-1.0.gir] Error 1
> > make[5]: Leaving directory
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/pbutils'
> > Makefile:728: recipe for target 'all' failed
> > make[4]: *** [all] Error 2
> > make[4]: Leaving directory
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst/pbutils'
> > Makefile:659: recipe for target 'all-recursive' failed
> > make[3]: *** [all-recursive] Error 1
> > make[3]: Leaving directory
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs/gst'
> > Makefile:624: recipe for target 'all-recursive' failed
> > make[2]: *** [all-recursive] Error 1
> > make[2]: Leaving directory
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base/gst-libs'
> > Makefile:748: recipe for target 'all-recursive' failed
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory
> '/home/sysadmin/devel/hfr-camera/gst/build-gst-1.14/gst-plugins-base'
> > Makefile:679: recipe for target 'all' failed
> > make: *** [all] Error 2
> >
> > I suspect this is due to the fact that I did not uninstall gstreamer
> cleanly before building tag 1.14.4.
> > How to cleanly uninstall tag 1.16.2, which I installed by issuing "sudo
> make install"?
> >
> > Thank you in advance for you help.
> > _______________________________________________
> > 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/20200429/dbb5121a/attachment-0001.htm
> >
>
> ------------------------------
>
> Message: 2
> Date: Wed, 29 Apr 2020 17:27:38 +0200
> From: Juan Navarro <juan.navarro at gmx.es>
> To: gstreamer-devel at lists.freedesktop.org
> Subject: Constant avdec_h264: decoding error
> Message-ID: <7039839d-3559-5deb-03e0-04cc1a18ea8b at gmx.es>
> Content-Type: text/plain; charset=utf-8; format=flowed
>
> I'm getting a continuous stream of WARN and ERROR messages when trying
> to play an RTSP source, due to issues in the H.264 decoding done by
> avdec_h264.
>
> This is a (truncated) sample of the messages:
>
> 0:00:02.186 WARN? libav gstavcodecmap.c:2441:gst_ffmpeg_caps_to_pixfmt:
> ignoring insane framerate 1/0
> 0:00:02.187 ERROR libav :0:: no frame!
> 0:00:02.187 WARN? libav
> gstavviddec.c:1535:gst_ffmpegviddec_frame:<avdec_h264-0> avdec_h264:
> decoding error (len: -1094995529, have_data: 0)
> 0:00:02.189 ERROR libav :0:: left block unavailable for requested intra
> mode at 0 2
> 0:00:02.189 ERROR libav :0:: error while decoding MB 0 2, bytestream 10023
> 0:00:02.201 ERROR libav :0:: no frame!
> 0:00:02.201 WARN? libav
> gstavviddec.c:1535:gst_ffmpegviddec_frame:<avdec_h264-0> avdec_h264:
> decoding error (len: -1094995529, have_data: 0)
> 0:00:02.202 ERROR libav :0:: no frame!
> 0:00:02.202 WARN? libav
> gstavviddec.c:1535:gst_ffmpegviddec_frame:<avdec_h264-0> avdec_h264:
> decoding error (len: -1094995529, have_data: 0)
> 0:00:02.202 ERROR libav :0:: Reference 4 >= 2
> 0:00:02.202 ERROR libav :0:: error while decoding MB 35 4, bytestream 2615
> 0:00:02.202 ERROR libav :0:: no frame!
> 0:00:02.202 WARN? libav
> gstavviddec.c:1535:gst_ffmpegviddec_frame:<avdec_h264-0> avdec_h264:
> decoding error (len: -1094995529, have_data: 0)
> 0:00:02.204 ERROR libav :0:: Reference 2 >= 2
> 0:00:02.204 ERROR libav :0:: error while decoding MB 29 4, bytestream 3647
> 0:00:02.209 ERROR libav :0:: no frame!
> 0:00:02.209 WARN? libav
> gstavviddec.c:1535:gst_ffmpegviddec_frame:<avdec_h264-0> avdec_h264:
> decoding error (len: -1094995529, have_data: 0)
> 0:00:02.209 ERROR libav :0:: Reference 3 >= 2
> 0:00:02.209 ERROR libav :0:: error while decoding MB 36 10, bytestream 4386
> 0:00:02.210 ERROR libav :0:: no frame!
>
> As you can see from the timestamps, these are printed dozens of times
> per second.
>
> The RTSP stream used to get these errors is this one:
>
> rtsp://95.131.167.44:554/10701947
>
> Hopefully this stays accessible for the next days / weeks.
>
>
> My gst-launch command is like this:
>
> gst-launch-1.0 \
>  ??? rtspsrc location="rtsp://95.131.167.44:554/10701947" protocols="tcp"
> \
>  ??? ! "application/x-rtp, media=(string)video" \
>  ??? ! decodebin \
>  ??? ! autovideosink
>
> Of course, a completely manual equivalent has the same issues:
>
> gst-launch-1.0 \
>  ??? rtspsrc location="rtsp://95.131.167.44:554/10701947" protocols="tcp"
> \
>  ??? ! "application/x-rtp, media=(string)video" \
>  ??? ! rtph264depay \
>  ??? ! h264parse \
>  ??? ! avdec_h264 \
>  ??? ! autovideosink
>
> I have been able to test and got same results with the GStreamer
> versions available in Ubuntu 16.04 (Gstreamer 1.8.3), 18.04 (GStreamer
> 1.14.5), and 20.04 (GStreamer 1.16.2).
>
> Curious thing is that even despite all those errors and warnings, the
> end result seems to be playing back fluidly and without issues. Also if
> audio is added to the pipeline, it also is correct and synchronized with
> the video. Nevertheless, all those warnings must be indicating some
> issue that is ingrained in the encoding of the video, and I'd love some
> help figuring out if there is something a receiver application can do to
> solve it, or if there might be a bug to be reported in the decoder itself.
>
> Thanks!
> Juan Navarro
>
>
>
> ------------------------------
>
> Message: 3
> Date: Wed, 29 Apr 2020 07:58:45 -0500 (CDT)
> From: Alex A <alex.valgusnov at microimpuls.com>
> To: gstreamer-devel at lists.freedesktop.org
> Subject: GstAggregator doesn't consume buffers
> Message-ID: <1588165125527-0.post at n4.nabble.com>
> Content-Type: text/plain; charset=us-ascii
>
> Hello,
> I'm trying to write gstreamer plugin for `RGBA bitmap -> DVB Subtitles`
> encoding. First of all I wrote simple stub: element just emulate encoding
> by
> producing static dvb subtitles from file on every input buffer.
> If run this pipeline:
>
>
>
> then result is fine: DVB-Inspector sees subtitles and it's valid.
> But if add another stream to muxer (e.g. audio or video):
>
>
>
> then the resulting file will not contain subtitles. Even in the Program Map
> Table there are no entry for it.
>
> Logs of `queue` between `dvbsubenc` and `mpegtsmux`:
>
>
> On a src pad, time is only updated for first few buffers. It looks like
> mpegtsmux (more precisely, GstAggregator) blocks `queue:src` thread and
> `queue` can't push data. Information about that this stream is sparse, as
> well as gap events, are supplied by the demuxer (pad with teletext) and
> just
> forwarded by other elements to `mpegtsmux`.
>
> In GstAggregator logs:
>
> "Done chaining" prints only for first few buffers, and then:
>
>
> Line "pad not ready to be consumed yet" are repeated endlessly. And after
> that, the time on the queue src pad ceases to be updated.
>
> Can anyone explain what is happening and what am I doing wrong?
> Code and file with subtitles:
> gstdvbsubenc.c
> <http://gstreamer-devel.966125.n4.nabble.com/file/t379422/gstdvbsubenc.c>
>
> gstdvbsubenc.h
> <http://gstreamer-devel.966125.n4.nabble.com/file/t379422/gstdvbsubenc.h>
>
> dvb-dump.bin
> <http://gstreamer-devel.966125.n4.nabble.com/file/t379422/dvb-dump.bin>
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>
>
> ------------------------------
>
> Message: 4
> Date: Wed, 29 Apr 2020 10:49:29 -0500 (CDT)
> From: LuddeBoi1337 <ludvigthor97 at gmail.com>
> To: gstreamer-devel at lists.freedesktop.org
> Subject: x265enc pipeline on GStreamer 1.14.5
> Message-ID: <1588175369056-0.post at n4.nabble.com>
> Content-Type: text/plain; charset=us-ascii
>
> Hello! I am trying to build a pipeline for an android application/streaming
> service. The plan is that it is going to use x265enc as the encoder on the
> server and I have issues with constructing the pipeline for it. The
> pipeline
> currently looks like this:
>
> appsrc ! videoconvert ! x265enc ! mpegtsmux ! filesink !
>
> appsrc has the settings: stream-type=0, is-live=true, do-timestamp=true,
> format=GST_FORMAT_TIME, caps: video/x-raw, format=RGB, width=640,
> height=420, framerate=30.
>
> x265enc has settings: speed-preset=1, bitrate=2000, tune=4
>
> It does work perfectly encoding with H264 but I have issues when trying to
> implement H265.
>
> With these settings I don't get any data at all in the saved file. When I
> try with I420 as the format I do get a video but it is heavily
> distorted/green lines and is zoomed in.
> <http://gstreamer-devel.966125.n4.nabble.com/file/t379423/MR-leo.png>
>
> We have tried running this pipeline in the terminal with the videotestsrc
> as
> the source instead of appsrc. If we do that it works so we figure that the
> issue has something to do with the appsrc.
>
> Any help is much appreciated!
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
>
>
> ------------------------------
>
> Message: 5
> Date: Wed, 29 Apr 2020 14:29:45 -0500
> From: William Johnston <wgj at cast.uark.edu>
> To: gstreamer-devel at lists.freedesktop.org
> Subject: Re: Streaming audio and video RTP
> Message-ID: <928e3bf0-4f0f-9df7-c5e3-ee46dc56858a at cast.uark.edu>
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>
> Careless of me, I linked it wrong. I linked the input of rtpbin to the
> input of udpsink.
>
> I'll try again:
>
> gst-launch-1.0 -e \
>  ??? ??? rtpbin name=rb
>  ? ? ? ? uridecodebin uri="file:///home/fedora/starwars.mov" \
>  ? ? ? ? ! qtdemux name=demux ?demux.audio_0 \
>  ? ? ? ? ! queue \
>  ? ? ? ? ! audioconvert \
>  ? ? ? ? ! opusenc bandwidth=superwideband bitrate-type=vbr \
>  ? ? ? ? ! rtpopuspay ?\
>  ? ? ? ? ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>  ? ? ? ? ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/>
> port=5052 \
>  ? ? ? ? demux.video_0 \
>  ? ? ? ? ! queue \
>  ? ? ? ? ! videorate ! video/x-raw, framerate=30000/1001 \
>  ? ? ? ? ! videoconvert \
>  ? ? ? ? ! x264enc tune=zerolatency speed-preset=1 dct8x8=true
> quantizer=17 pass=qual \
>  ? ? ? ? ! rtph264pay \
>  ? ? ? ? ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
>  ? ? ? ? ! rb.send_rtp_sink_0 \
>  ??? ??? rb
>  ? ? ? ? ! udpsink host=www.playbacktc.com <http://www.playbacktc.com/>
> port=5054 \
>
>
>
> On 4/28/2020 6:32 PM, Patrick Cusack wrote:
> > Ok. Good to know. Unfortunately, that doesn?t work. I get the following:
> >
> > Setting pipeline to PAUSED ...
> > Pipeline is PREROLLING ...
> > DtsGetHWFeatures: Create File Failed
> > DtsGetHWFeatures: Create File Failed
> > Running DIL (3.22.0) Version
> > DtsDeviceOpen: Opening HW in mode 0
> > DtsDeviceOpen: Create File Failed
> > Redistribute latency...
> > WARNING: from element
> > /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0: Delayed linking
> > failed.
> > Additional debug info:
> > ./grammar.y(506): gst_parse_no_more_pads ():
> > /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0:
> > failed delayed linking some pad of GstURIDecodeBin named uridecodebin0
> > to some pad of GstQTDemux named demux
> > Redistribute latency?
> >
> > I checked the stats on my server and don?t see any audio or video
> > packets coming in. The goal is to stream a file (eventually a video
> > input like Decklink) to a server that receives rtp.
> >
> > I can send audio or video separately and I don?t have issues.
> >
> > Patrick
> >
> >> On Apr 28, 2020, at 11:49 AM, William Johnston <wgj at cast.uark.edu
> >> <mailto:wgj at cast.uark.edu>> wrote:
> >>
> >> You can only specify ports on element names. Try this:
> >>
> >> gst-launch-1.0 -e \
> >> ? ? ? ? uridecodebin uri="file:///home/fedora/starwars.mov" \
> >> ? ? ? ? ! qtdemux name=demux ?demux.audio_0 \
> >> ? ? ? ? ! queue \
> >> ? ? ? ? ! audioconvert \
> >> ? ? ? ? ! opusenc bandwidth=superwideband bitrate-type=vbr \
> >> ? ? ? ? ! rtpopuspay ?\
> >> ? ? ? ? ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
> >> ? ? ? ? ! udpsink host=www.playbacktc.com
> >> <http://www.playbacktc.com/> port=5052 \
> >> ? ? ? ? demux.video_0 \
> >> ? ? ? ? ! queue \
> >> ? ? ? ? ! videorate ! video/x-raw, framerate=30000/1001 \
> >> ? ? ? ? ! videoconvert \
> >> ? ? ? ? ! x264enc tune=zerolatency speed-preset=1 dct8x8=true
> >> quantizer=17 pass=qual \
> >> ? ? ? ? ! rtph264pay \
> >> ? ? ? ? ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
> >> ? ? ? ? ! rtpbin name=rb rb.send_rtp_sink_0 \
> >> ? ? ? ? ! udpsink host=www.playbacktc.com
> >> <http://www.playbacktc.com/> port=5054 \
> >>
> >>
> >> On 4/28/2020 12:42 PM, Patrick Cusack wrote:
> >>> I have a endpoint that expects audio and video over ports 5052 and
> >>> 5054 respectively. I am using the following script to send audio and
> >>> video. I am getting a 'WARNING: erroneous pipeline: syntax error?
> >>> when I run the command.
> >>> Also, does using simple rtp payloads into a udp sink bypass RTCP
> >>> feedback, ie if my server is NACKing on account of dropped packets,
> >>> does this hinder retransmission of rtp packets?
> >>>
> >>> gst-launch-1.0 -e \
> >>> ? ? ? ? uridecodebin uri="file:///home/fedora/starwars.mov" \
> >>> ? ? ? ? ! qtdemux name=demux ?demux.audio_0 \
> >>> ? ? ? ? ! queue \
> >>> ? ? ? ? ! audioconvert \
> >>> ? ? ? ? ! opusenc bandwidth=superwideband bitrate-type=vbr \
> >>> ? ? ? ? ! rtpopuspay ?\
> >>> ? ? ? ? ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
> >>> ? ? ? ? ! udpsink host=www.playbacktc.com
> >>> <http://www.playbacktc.com/> port=5052 \
> >>> ? ? ? ? demux.video_0 \
> >>> ? ? ? ? ! queue \
> >>> ? ? ? ? ! videorate ! video/x-raw, framerate=30000/1001 \
> >>> ? ? ? ? ! videoconvert \
> >>> ? ? ? ? ! x264enc tune=zerolatency speed-preset=1 dct8x8=true
> >>> quantizer=17 pass=qual \
> >>> ? ? ? ? ! rtph264pay \
> >>> ? ? ? ? ! rtprtxqueue max-size-time=2000 max-size-packets=0 \
> >>> ? ? ? ? ! rtpbin.send_rtp_sink_0 \
> >>> ? ? ? ? ! udpsink host=www.playbacktc.com
> >>> <http://www.playbacktc.com/> port=5054 \
> >>>
> >>> _______________________________________________
> >>> 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
> >> <mailto: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/20200429/ab194f6c/attachment.htm
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> ------------------------------
>
> End of gstreamer-devel Digest, Vol 111, Issue 77
> ************************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200430/d631fe75/attachment-0001.htm>


More information about the gstreamer-devel mailing list