How to stream video to remote server and then to others - linux

Im completely new on video streaming, but i need to develop a software that allows me to stream 1 or multiple ip cameras from a local machine, to a remote one (both linux), and allow other people to watch it through a java app.
Have any idea from where to start?
Thanks a lot.

Related

Play video from one device to another

I’m looking to essentially use two devices: raspberry pi 3 and Mac 10.15. I am using the pi to capture video from my web cam and I want to use my Mac to kind of extend to the pi so when I use cv2.videocapture I can capture that same video in preferably real-time or something close. I’m programming this using python on bout devices. I thought of putting it on a local server and retrieving it but I have no idea how I could use that with opencv. If someone could provide and explain a useful example, I would greatly appreciate it. Thank you.
To transfer a video stream, you could use instead of a custom solution a RTMP server on the source machine feeding it with the cam source and the target opens the stream and processes it.
A similar approach to mine is widely implemented into IP cameras: They run a RTMP server to make the stream available for phones and PC.

Raspberry Pi video streaming with lowest latency possible via a server to multiple clients

I want to build a video security infrastructure with raspberry pis.
Please take a look at the rough layout I've in mind:
What the system should be capable of:
The RPis need to stream a low latency video to the
webserver, which displays it to all clients visiting the website.
If a client authenticates he can control one RPi sending commands that gets translated into GPIO commands.
All RPis should be controllable simultaneously by different clients in realtime.
Some kind of scaleability (Clients + RPis)
My Questions:
I wanted to program everything in node.js. Good idea?
Could WebRTC and Sockets.io help me in this project - if not is
there another library that would help me out?
How many clients could a VPS Server (8GB RAM, 4 vCores) handel in this setup?
Is it possible to bring the latency down to < 2 seconds or more?
Anything helps! Thanks!

RTP stream with bareSIP

my current setup involves streaming from a GoPro to a linux box, and I managed to get bareSIP running on the box to stream the video locally with the 'v' command. However, there's no documentation or commands to configure an RTP broadcasting stream. Would anyone have any insight into publishing an RTP/RTSP output stream for other users to view on their devices?
I've used Unreal Streaming Media components and found them to be very good. They are lightweight and fast yet very powerful.
Using Unreal components you could install the stream forwarder on your laptop, point it at the RTSP stream and tell it to forward to the Distribution server application.
This app can host thousands of connections (supposedly) and last I looked you didn't need a license if you have 3 or fewer sources. The stream can be viewd via their own small player app, via a web player such as jPlayer or via VLC etc.
I've been pretty happy with this before - it saved me from having to use the Live555 streaming mess.
Good Luck!

How can I make a Internet audio streaming server?

I need to make a internet radio server, how can I do that on top of apache. Want to understand the architecture of the whole system. Are there some good reads ?
Here is a Tutorial about using IceCast, a free server software for streaming multimedia.
http://www.yolinux.com/TUTORIALS/LinuxTutorialAudioStreaming.html

How to program an audio/video application on network?

I want to make (for fun, challenge) a videoconference application, I have some ideas about this:
1) taking the audio/video streams (I don't know what an audio/video stream is)
2) pass this to a server that lets communicate the clients. I can figure out how to write a server(there are a lot of books and documentation about this) but I really don't know how to interact with the webcam and with the audio/video in general.
I want some links, book, suggestions about the basics of digital audio/video expecially on programming. Please help me!!!
I want to make it run on a Linux platform.
Linux makes video grabbing really nice. As long as you have a driver that outputs the video stream to the /dev/video/v* channels. All you have to do is open up a control connection to the device [an exercise for the OP] and then read in the channel like a file [given the parameters set by the control connection. Audio should be the same way, but don't quote me on it.
BTW: Video streaming from a server is a very complex issue. You have to develop or use an existing protocol. You have to be very aware of networking delays, and adjust the information sent (resize or recompress) to the client based on the link size between the client and the server.

Resources