Question / Help OBS record multiple pc's from a server

KEasterday

New Member
Greetings all. Thanks for bearing with me and giving me suggestions or tips.

Scenario: I have four classrooms each with a pc for capturing two cameras and the display. I setup OBS to auto switch scenes along with the virtual webcam. I can pick up the virtual webcam in my recording software (TotalRecorder), but it is a bit too much for the pc and drops a few frames so that the audio gets out of sync.

What I would like to be able to do is stream the four classrooms back to a Windows 2012 R2 server and record them there, individually and simultaneously. I have NDI tools setup so that I can use the NDI virtual input. However, only being able to do one input at a time means I can't record other classrooms with simultaneous lectures. Is there a way I can do what I'm attempting to do?
 
you can stream each cam with ffmpeg to your server i recommend nginx for this because it can recive/push and record same time
 
Are you setting this up right?

You are not streaming. You are capturing a recording of raw output that is delivered over the network from each of the NDI clients to a NDI server that aggregates, encodes, and records to disk.

Each classroom computer has OBS Studio running on it with a NDI client. Each client gets its own unique name. You create a scene on the NDI client that uses a webcam source stretched to full screen. Each of these NDI clients are continuously capturing. You don't press the record buttons. Note that to conserve networking bandwidth for your school, you will want to exit OBS when not in use.

The 2012 R2 is a NDI server and has OBS Studio running on it. It has one or more scenes that contains the NDI clients as sources and laid out how you want it (i.e. 2x2 grid, individually, whatever you like).

You control the recording on and off at the NDI server end as well as scene switching.
 
I think I left out one important bit. The reason I'm using TotalRecorder is because I can schedule the start and stop of every class (at least 22 courses a semester, with at least 13 class periods, equaling at least 286, two hour videos). Each of these must be edited to cut off and replace the the front and back, and the breaks they take in the middle. So, you can see why, with a non-existent staff, I have to have automatic recordings.

However, this app has to be able to see the source as a webcam or other such capture device. Is there any recorder out there that can be scheduled? I have searched many times, but not found anything.
 
Are you setting this up right?

You are not streaming. You are capturing a recording of raw output that is delivered over the network from each of the NDI clients to a NDI server that aggregates, encodes, and records to disk.

I think your assessment is correct.

Each classroom computer has OBS Studio on it a NDI client. Each client gets its own unique name. You create a scene on the NDI client that uses a webcam source stretched to full screen. Each of these NDI clients are continuously capturing. You don't press the record buttons. Note that to conserve networking bandwidth for your school, you will want to exit OBS when not in use.

I have all the PC's and IP cameras plugged into their own isolated network, so that helps with the bandwidth issue. I think you've got the picture.

The 2012 R2 is a NDI server and has OBS Studio running on it. It has one or more scenes that contains the NDI clients as sources and laid out how you want it (i.e. 2x2 grid, individually, whatever you like).

You control the recording on and off at the NDI server end as well as scene switching.

Yes, but how do I record four scenes to four different files with video and audio in tact?
 
Yes, but how do I record four scenes to four different files with video and audio in tact?

With four instances of OBS, if you're using OBS for recording. I'm not familiar with TotalRecorder, but a single instance of OBS can't really do this. Even most of the apps that can (security camera apps) are going to record one large format video with tiled windows within it, and will either have no audio, or audio from all or some cameras-- it won't be recording individual files from individual cameras together only with isolated audio from those cameras.
 
With four instances of OBS, if you're using OBS for recording. I'm not familiar with TotalRecorder, but a single instance of OBS can't really do this. Even most of the apps that can (security camera apps) are going to record one large format video with tiled windows within it, and will either have no audio, or audio from all or some cameras-- it won't be recording individual files from individual cameras together only with isolated audio from those cameras.
So can you run 4 instances on one server? And if you can, could each one have a virtual webcam? If I could accomplish this, I can present the virtual webcams to TotalRecorder.
 
I don't know? The only way to know is to try, it's not a common use case. I certainly think it would need to be a pretty strong computer, and I know that OBS logs it as an error in its log when it detects more than one instance running.
 
I don't know? The only way to know is to try, it's not a common use case. I certainly think it would need to be a pretty strong computer, and I know that OBS logs it as an error in its log when it detects more than one instance running.

I thought of running in hyper-v, but for Windows 10 you have to jump through hoops with audio and video. Does anyone know if a version of Linux could do this?
 
The OBS Virtualcam plugin is Windows-only, so instances running on Linux would not be able to use it.

OBS is also not intended to be used in a virtual machine; one has to make sure that GPU passthrough is properly configured because if not, OBS will see only a generic renderer as a graphics card and performance will suffer, if it works at all.
 
The OBS Virtualcam plugin is Windows-only, so instances running on Linux would not be able to use it.

OBS is also not intended to be used in a virtual machine; one has to make sure that GPU passthrough is properly configured because if not, OBS will see only a generic renderer as a graphics card and performance will suffer, if it works at all.

Good to know. Thanks everyone for your contributions.
 
As im understanding this you search for a solution to record the fotage from the classrooms same time and for each room
its own videofile?
 
As im understanding this you search for a solution to record the fotage from the classrooms same time and for each room
its own videofile?

Yes, as I wrote above we produce about 300 videos to YouTube per semester. Sometimes more, sometimes less. The PC's in the classroom are doing the individual recordings now, but with OBS and TotalRecorder running at the same time, the processor is pegged. I need to offload to another machine, but do not have 4 machines to mirror my classroom pc's. I do have a 2012 R2 server that could handle it, but I need a way to "see" four virtual cams coming from OBS in the four classrooms, so that TotalRecorder could see each one separately, and record each one separately.
 
In case I missed it, is there a reason the recording is done in TotalRecorder and not in OBS, if every classroom that needs to record a feed is already running OBS, and each needs to be individually recorded?
 
In case I missed it, is there a reason the recording is done in TotalRecorder and not in OBS, if every classroom that needs to record a feed is already running OBS, and each needs to be individually recorded?

I use TotalRecorder because I can schedule the start and stop of every recording to include file path, name, tags, etc. If i had to start and stop recordings it is all i would ever get done. TR is a huge timesaver. If i had more staff or volunteers, i could do this rather easily. Or, i could start the recording in the morning and stop it at night, and just work with the huge file created. But editing becomes painfully slow with a 26-35 GB file.

I guess I could let it run if it would auto create a new file every 30 minutes or so.
 
is it possible that OBS (per classroom) has a single source with cam and desktop and send all to your server or do you need cameras seperated?
 
Okay, I understand. But I think fundamentally the problem is that no one instance of either TotalRecorder or OBS is intended for recording multiple incoming video feeds as separate, discrete recordings. And the burden of running multiple instances of either on a single machine, even if that is more powerful than the individual machines producing the feeds, is likely greater than the load of doing so separately, and greater than just the combined load as well, especially if you were to use multiple instances of OBS, since every instance that touches a video source needs to render that source. So on the classroom PC, OBS has to render the video, then NDI encodes it, it gets sent to another instance of OBS, rendered again, then converted into a Virtualcam source for TR to record. So that's more load on a single machine trying to receive multiple feeds than it would be for individual classroom PCs to each run one instance of TR and OBS. There should be a way to configure OBS so that the load on each classroom PC is within that machine's abilities.
 
its a simple way to do recordings and make a rtmp source aviable for monitoring
OBS --> NGINX-RTMP (set for recording) --> monitor streams with every browser or VLC or use another OBS/ffmpeg to create a multiview or event etc...
 
Back
Top