Giter Site home page Giter Site logo

Comments (7)

brunoherbelin avatar brunoherbelin commented on June 15, 2024

Hi ! The local network stream is a specific feature of vimix with two instances of vimix 'discussing' between each others to decide on which protocol to use on which network port to talk.

What you ask is however totally possible in vimix with SRT ; https://github.com/brunoherbelin/vimix/wiki/SRT-stream-I-O
SRT is a very flexible protocol but may not be available in other programs.

webrtc is however possibly supported with gstreamer : could you try to run a gst pipeline that sends output to hydra in the way you'd like it to work : with that, I could try to port it to vimix.
e.g. see https://gstreamer.freedesktop.org/documentation/rswebrtc/index.html?gi-language=c#webrtcsink-page

from vimix.

polymorphicengine avatar polymorphicengine commented on June 15, 2024

Unfortunately, I can't seem to get webrtcsink to work..

hydra uses the following to manage the webrtc conncetions: https://github.com/ojack/rtc-patch-bay

so maybe once vimix is sending out a webrtc stream it is easy to connect from it to hydra, i guess

from vimix.

brunoherbelin avatar brunoherbelin commented on June 15, 2024

humm... no idea how this works and what hydra is expecting as video stream.
if there are examples online on how to stream from one app into hydra, I could try to do test.

BTW, did you try to do live coding inside vimix with ShaderToy input ? https://github.com/brunoherbelin/vimix/wiki/Filters-and-ShaderToy#custom-filter-with-shadertoy-coding

from vimix.

brunoherbelin avatar brunoherbelin commented on June 15, 2024

Hi! I inspected further the question of WebRTC : seems interesting but

  • the plugins that do that ( webrtcsink or whipsink ) are not provided with the Ubuntu builds.
  • the webrtcbin is available but requires to implement a signaling procedure that is specific to use cases

So, I looked at other options. Using HTTP Live Streaming (HLS) seems interesting!
You can follow this tutorial for example and let me know if this could do the link you need.

from vimix.

polymorphicengine avatar polymorphicengine commented on June 15, 2024

Hey Bruno,
thanks for looking into this!

I followed the tutorial, but the hard part was actually getting the stream into Hydra as a source, which I managed. I just need it to point to a .m3u8 file and it works, so I was actually able to run the example and get the video from my camera into hydra like that.

the only thing is that there is a very big delay (more than 10 seconds), do you think this could be reduced? I mean, for it really to be usable I would need it to run in realtime..

from vimix.

brunoherbelin avatar brunoherbelin commented on June 15, 2024

the only thing is that there is a very big delay (more than 10 seconds),

Yes indeed: I also experienced this delay, and didn't seems like changing parameters improved a lot... (you can try to reduce target-duration to 1 and max-files to 2).

The alternative remains a direct streaming of an RTP stream on a UDP socket (see gst examples)

The problem is that then vimix (as sender) has to know the IP and port of the receiver; i didn't like this because I wanted vimix to broadcast to everyone connecting to it (ie. the opposite; the receiver calls the sender). But if on your side it would be meaningful, we could try.

Also note the new feature I am planning to add for another purpose but with same requirement: pipe using shared memory #59

from vimix.

brunoherbelin avatar brunoherbelin commented on June 15, 2024

To clarify what the local network sharing feature does, it was renamed 'peer-to-peer' sharing : this is more explicit to say that it connects vimix programs together.

The shared memory with shmdata #59 was implemented in 0.7.3

Also, for linux, the V4L2 loopback camera was re-activated in 0.7.3 : if your program can show a webcam, then it should be able to display the output of vimix from device /dev/video10

from vimix.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.