Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: Is a Perl Skype-like VoIP connection possible?

by NERDVANA (Pilgrim)
on Sep 02, 2021 at 19:33 UTC ( #11136378=note: print w/replies, xml ) Need Help??


in reply to Is a Perl Skype-like VoIP connection possible?

When I first read your request, it struck me as wistful thinking, especially after you got down to the part about running on really old hardware. But then I remembered.... VLC. VLC has been around since ~2000, and it has every possible combination of open-source video/audio codec, and you can open capture devices, and stream to the network, and choose whatever bit rate would allow that to work on a limited connection, and it is written in high-performance C (especially the older codecs) and could run on any computer in the last 20 years.

It would make for a clunky video conference system, but you could have each user open VLC to stream their own camera, and then open one VLC player for each user you wanted to see video from. So for 2 people, 2 copies of vlc, one outgoing and one incoming. Beware of feedback loops.

If that works, you could try scripting it into a more cohesive experience. As it happens, I'm the author of VideoLAN::LibVLC which would allow you to start multiple copies of libvlc from within a perl script. I designed that library for being able to dissect the individual video frames though, which won't be useful to you, but there might be enough API available to make a video conference app. There is also Vlc::Engine and VideoLan::Client.

  • Comment on Re: Is a Perl Skype-like VoIP connection possible?

Replies are listed 'Best First'.
Re^2: Is a Perl Skype-like VoIP connection possible?
by Polyglot (Friar) on Sep 03, 2021 at 02:19 UTC
    This sounds intriguing. I have VLC, but no idea how to access its API with Perl. Is there something published about this, such as a how-to guide or other documentation for the API?

    As you might imagine, video quality is not my first concern. I would even be content at this point with an audio-only connection, though I do think we should have sufficient bandwidth at the server for a couple of video streams. The internet in the LDC (Least Developed Country) is paid by bandwidth usage, so video costs considerably more than audio. I think it's about a dollar per gigabyte of usage--which adds up, especially on the local economy in which the average income is under $100 a month. Internet saturation is not high--with only about 20% of the population estimated to be online.

    I've been attempting to install Jitsi but have run into some snags. I have yet to find any solution that will work with the older platforms.

    Blessings,

    ~Polyglot~

      "I've been attempting to install Jitsi but have run into some snags. I have yet to find any solution that will work with the older platforms."

      I had problems until I started using the nightlies/unstable releases. After that it worked fine. I don't believe Jitsi will be performant on older platforms/hardware. As mentioned previously something with low hardware and bandwidth requirements like mumble sounds like a sensible solution.

      I have VLC, but no idea how to access its API with Perl. Is there something published about this ...?

      I have absolutely no experience with the VLC API, but my impression from NERDVANA's post was that the modules mentioned therein were designed to do just that. Good luck with a how-to guide, though.


      Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11136378]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2022-05-21 06:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (76 votes). Check out past polls.

    Notices?