Best way to get at least 1.14.2 on Raspberry Pi?

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Best way to get at least 1.14.2 on Raspberry Pi?

Dominik Röttsches
Hi,

I am working on a WebRTC experiment on a Raspberry Pi using the
gstreamer Python bindings. Since there is a bug in gstreamer versions
before 1.14.2 that causes a double free when using the full
PeerConnection like webrtc flow in Python, I need at least this version.

However, the gstreamer version on Debian stretch is 1.10.2 - way too
old.

Things I've tried:

1) Looking at Deb Multimedia packages, but it doesn't have 1.14.2 for
Debian stretch.

2) I tried running the cerbero build on the Raspberry itself, which is
very slow and I kept running into small build failures. Working around
each of those and restrating the $ cerbero package gstreamer-1.0 has not
gotten me there yet.

3) I tried an armhf cross compilation on an X86 Ubuntu 18.04 system,
which perhaps builds but does not succeed in packaging .deb files that I
can use on the RPI.

4) I am now working on a docker image using the resin
raspberrypi:stretch image and run the cross compilation "natively"
inside that image using their qemu-based emulation approach using RUN
["cross-build-start"]
(see
https://docs.resin.io/reference/base-images/base-images/#resin-xbuild-qemu 
) - this is a bit better in terms of build performance, and it gets
relatively far but I still have some build failures using cerbero, that
I am still working around (for example, even though I have install
libx11-dev the cebero build complains it can't find the x11 dependency,
similar for OpenGL). I have now added "nogl" and "nox11" to the cerbero
variants and I am observing the next build. The roundtrip time here is
very long as well.

What would you suggest to get a recent, i.e. at least 1.14.2, binary on
the Raspberry Pi?

Thank you very much for your suggestions,

Dominik

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Best way to get at least 1.14.2 on Raspberry Pi?

Retropotenza
I was trying to do the same as 2) below in July, and submitted some patch in the process (search for "Bono" in this ML to find some reference).

My remaining problem on Raspberry Pi was that libgstsoundtouch, libgstvoaacenc and libgstdtls didn't seem to be built... I was looking at recipes and didn't find yet anything helpful at that time.

These libraries were missing, and I didn't have more time to investigate.

I tried to build on Raspian x86, and the latest Ubuntu LTS, just to check if those libraries are built, but got stuck in other issues (submitting a couple of patches as well). The remaining one is that Raspian x86 is detected (correctly) as 64 bit, but have the libraries in 32 bit. I started into cross-compiling to 32 bit, avoiding the 64 bit detection, but the compilation didn't proceed smoothly as I was hoping.

I was not looking into creating a full .deb for the Raspian ARM, just to build a local working environment... maybe we could team up in finding and fixing the small issues there, submitting patches (?

Vincenzo

Il giorno 05/09/18, 14:47 "gstreamer-devel per conto di Dominik Röttsches" <[hidden email] per conto di [hidden email]> ha scritto:

    Hi,
   
    I am working on a WebRTC experiment on a Raspberry Pi using the
    gstreamer Python bindings. Since there is a bug in gstreamer versions
    before 1.14.2 that causes a double free when using the full
    PeerConnection like webrtc flow in Python, I need at least this version.
   
    However, the gstreamer version on Debian stretch is 1.10.2 - way too
    old.
   
    Things I've tried:
   
    1) Looking at Deb Multimedia packages, but it doesn't have 1.14.2 for
    Debian stretch.
   
    2) I tried running the cerbero build on the Raspberry itself, which is
    very slow and I kept running into small build failures. Working around
    each of those and restrating the $ cerbero package gstreamer-1.0 has not
    gotten me there yet.
   
    3) I tried an armhf cross compilation on an X86 Ubuntu 18.04 system,
    which perhaps builds but does not succeed in packaging .deb files that I
    can use on the RPI.
   
    4) I am now working on a docker image using the resin
    raspberrypi:stretch image and run the cross compilation "natively"
    inside that image using their qemu-based emulation approach using RUN
    ["cross-build-start"]
    (see
    https://docs.resin.io/reference/base-images/base-images/#resin-xbuild-qemu 
    ) - this is a bit better in terms of build performance, and it gets
    relatively far but I still have some build failures using cerbero, that
    I am still working around (for example, even though I have install
    libx11-dev the cebero build complains it can't find the x11 dependency,
    similar for OpenGL). I have now added "nogl" and "nox11" to the cerbero
    variants and I am observing the next build. The roundtrip time here is
    very long as well.
   
    What would you suggest to get a recent, i.e. at least 1.14.2, binary on
    the Raspberry Pi?
   
    Thank you very much for your suggestions,
   
    Dominik
   
    _______________________________________________
    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
Reply | Threaded
Open this post in threaded view
|

Re: Best way to get at least 1.14.2 on Raspberry Pi?

Dominik Röttsches
Hi Vincenzo,

On 5. Sep 2018, at 17:02, Vincenzo Bono <[hidden email]> wrote:

I was not looking into creating a full .deb for the Raspian ARM, just to build a local working environment... maybe we could team up in finding and fixing the small issues there, submitting patches (?

I am happy to work on this together, should we continue with 4)?

My files and attempt are here:

Feel free to contribute with PRs or let’s use this to find out what is going wrong in the cerbero / meson build. Probably we should add something to the Dockerfile to ensure we’re checking out the same cerbero revision. Otherwise this should be pretty reproducible.

What do you think? Can you run this?

Dominik


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Best way to get at least 1.14.2 on Raspberry Pi?

keyclip
Hi there, I am also trying to do this.

Have you seen that Collabra have apparently setup a CI pipeline for
gstreamer to do exactly this? Except there's no information about how to get
the build artifacts :/

Does anyone know where the CI for RPi builds is?!

https://www.collabora.com/news-and-blog/blog/2018/06/11/gstreamer-ci-support-for-embedded-devices/


So close...

Also, where does the Raspbian distro build their packages? We should be able
to use those build steps.

I have some questions which I will move to the Github issue tracker for the
link you left.

Thanks



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Best way to get at least 1.14.2 on Raspberry Pi?

Nicolas Dufresne-5
Le mardi 18 septembre 2018 à 04:43 -0500, keyclip a écrit :

> Hi there, I am also trying to do this.
>
> Have you seen that Collabra have apparently setup a CI pipeline for
> gstreamer to do exactly this? Except there's no information about how
> to get
> the build artifacts :/
>
> Does anyone know where the CI for RPi builds is?!
>
>
https://www.collabora.com/news-and-blog/blog/2018/06/11/gstreamer-ci-support-for-embedded-devices/
>
>
> So close...
>
> Also, where does the Raspbian distro build their packages? We should
> be able
> to use those build steps.

This project is currently on hold until GStreamer migration to gitlab
(and gitlab CI) completes. The current solution required Jenkins
feature which are not available on ci.gstreamer.net, as we are removing
this service in a near future, it was decided to not update and risk
breaking things.

About the artifacts, they will be available like any other artifact in
GitLab CI. Meanwhile, stay tuned, we will likely make announcement when
we get there.

>
> I have some questions which I will move to the Github issue tracker
> for the
> link you left.

I am not sure what you are referring to, we don't do issue tracking in
Github for this project.

>
> Thanks
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.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

signature.asc (201 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Best way to get at least 1.14.2 on Raspberry Pi?

tobiasfriden
In reply to this post by Dominik Röttsches
Hello,

Did you manage to succeed with this approach?

I am also trying to use a docker image to run on raspberry, but still no
success.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel