Mouning a streaming server

JIMMy2020

New Member
Hello,

I am writing in this forum to look for an advice regarding the development of a web application to deliver streaming content to visitors.

Can I use Open Broadcaster to mount a server so that a camera can send to the server what it is recording and at the same time, people connected to the web page, can view what is being recorded?

If Open Broadcaster can do it, what is the right procedure? for example, at the location where the recording is in place, the camera could be connected to a PC that has an encoder which in turn sends the encoded data to the server? Or should I install Open Broadcaster in the local PC which is the responsible of sending the data to the server? if this is the case, what piece of software should I have in my server to receive the data and save it locally and simultanously send the video to a visitor who is connected to the web page?

Place advice me how to start with this.

Thanks,

Jaime
 

JIMMy2020

New Member
Cannot I use other server for that, such as Apache or IIS? Do I need to install some module for the web server?
 

koala

Active Member
Please google for "rtmp apache" or "rtmp nginx". This is a bit beyond the scope of this forum. There is a guide for nginx:
 

JIMMy2020

New Member
Thanks, but one thing is the server and by searching for RTMP I can find out how to mount it, but the other thing is the client.

If I have a camera connected to a PC, I need some piece of software that take the video coming from the camera, encode it and send it to the RTMP server, right?

Does OBS work for that purpose?

Regards
Jaime
 

koala

Active Member
Yes, OBS is that kind of software. It's called a streaming client, because it works as a sending client for that streaming server. I don't understand what you mean with the word "mount" in this context. I doesn't have a meaning for streaming, in a similar way as the word flying doesn't have a meaning for cooking.
 

JIMMy2020

New Member
"Mount" is a computing term (https://en.wikipedia.org/wiki/Mount_(computing)). With that I meant how to prepare and configure a server so that it can receive the video from some source (the client), save it in some media (a disk) and reproduce the content by the users who connect to it by mean, for example, Internet. In this case, the client could be OBS. User could reproduce the content in real time, just when the video is being produced or later in other time.

I will start playing with OBS to learn how to encode a video and send automatically the content to a server.

Regards,
Jaime
 

koala

Active Member
Neither a streaming client nor a pure streaming server needs a disk to operate. There is no disk device on the server you need to mount. It's all a volatile data stream. The streaming client sends a data stream to the server, and the server distributes (duplicates) this stream to currently connected viewers in real time. The streaming server doesn't store the data on its hard disk, not even temporarily. There may be servers that are able to do this, but it's not needed and not required by the rtmp protocol. Live streaming is totally volatile.

You might mistake live streaming with video uploading+video on demand.
OBS Studio does live streaming to some streaming server. You send what OBS is currently receiving from some camera live, and viewers need to connect to that server in that moment to see this live stream.

In contrast, the classic Youtube is video uploading+video on demand. You prepare some video file offline and upload it to Youtube. Youtube acts as library and allows downloading a video for viewing. You call this streaming, but technically it's a download of a file from a web server, performed by some media player. OBS can also be a recorder for this. Instead of streaming, you can record your camera video to a local file, postprocess it with some video editor to make it more pretty, then upload it to some video on demand service like Youtube.

Youtube also allows live streaming since some time, but this is added functionality to video on demand.

Most streaming services, like Youtube and Twitch, combine streaming with video on demand. They record video as they are live streamed and offer them as video on demand files for download later. You can watch them live, and later you can download (watch) the VOD.

It seems you want to implement a service that does this both. Live streaming and video on demand. This is a big undertaking. Get a specialist for this. Good luck. More easy would be to just use one of the existing streaming providers. There are also paid services who offer their services to a limited audience like your company for company-internal material.
 
Last edited:

JIMMy2020

New Member
It seems you want to implement a service that does this both. Live streaming and video on demand. This is a big undertaking. Get a specialist for this. Good luck. More easy would be to just use one of the existing streaming providers. There are also paid services who offer their services to a limited audience like your company for company-internal material.

Yes, I want to implement both. I could become a specialist, why not? I have more than 20 years developing complex systems so I have no doubt I could do it, however, I agree that the time factor is important. By doing it by myself it could take longer than if I use a third party provider. With that in mind, obviously I don't plan to develop something from scratch, so I am investigating about providers that allow to do streaming video by providing some sort of SDK. The idea behind this is that the customer (who records the video) and the web site visitor, connect both to my own server. They does not know anything about the other provider we could be using internally.

As the storing platform, I am planning to use Vimeo. It has a developer API so that I can easily save the videos there so that the visitor could see it on demand.

I need to solve the other part now: live streaming. That's why I came to this site.

I read that Vimeo also has live streaming capacity. I am reading more about this. Maybe I can integrate Vimeo in my site to do everything, however, the question I still have is how to capture the video from the camera, decode, and send to the video platform. Maybe the Vimeo API could do it also so the work would be to develop a Windows application to be installed in the local computer. That application could behave similar to OBS, with the difference that the video could be stored immediately in Vimeo servers. I have not read the API documentation yet, so I don't know still what I can and what I cannot do with Vimeo API.

Regards,

Jaime
 

koala

Active Member
the question I still have is how to capture the video from the camera, decode, and send to the video platform.
This is the task of OBS Studio. There are more streaming clients. For example, OBS Studio is made for interactive live streaming. It's designed for a person who always sits in front of it and controls it. If you just need to automatically send a camera output to a streaming server, it's better to use some tool that can be automated. You can use ffmpeg for this, for example. It's a command line tool that can be used within scripts and batch files.
 

JIMMy2020

New Member
Hello,

I have the film clearer now. To develop the platform, I will use https://api.video/, however, the streaming part will be made with OBS, such as api.video recommends. It also has an example about this: https://api.video/blog/tutorials/live-stream-tutorial

I don't plan the system to be unattended. In the local PC, a person will be sat controlling the streaming process. OBS will capture the video and it will send the video to api.video to be viewed by visitors.

Finally, I will use OBS after all :-)

Regards
Jaime
 
Top