Question / Help Weird thread. What does OBS to encode?

allegfede

New Member
hello everybody.
Currently i was trying to figure out how to stream live video (Standard Definition) to ustream using linux.

I'm using a debian9 64 bit on a dell r805 (dual opteron, 8 cores total). Video capture card is a pinnacle 300i.
Strange thing is that using ffmpeg directly i can obtain 4 frames per second max (little cpu load on all the 8 cores), downloading and using OBS i can obtain 23 frames per second with really high cpu load on all the 8 cores.

By the way i prefear to have 23fps with hi load than poor 4 fps, but i guess: "how can OBS squeeeze all the power of the system and require also a GUI, pulse, preview, buttons, etc, when ffmpeg on an headless system and only direct alsa access cannot do more than 4 fps?"

PS: i suppose the problem of the headless system is the audio part, because when i was testing without audio (only video), i can obtain 25fps without a prob on 4 cores only ... but cannot figure out why audio triggers the fps drops :-(

Does OBS access directly to libX264?

Cheers,
Federico

PS: if you are curious to know how i push a PCI capture card in a PCI-Express only server, i'll point to this my video tutorial on youtube, explaining the trick :D https://youtu.be/Qo11qJ_pzSs
 

shaolin

Member
OBS uses libx264 directly for stream. You can use ffmpeg if you change your encoder for recordings tho. in Settings -> Output
 

allegfede

New Member
thanks Shaolin for the kind answer.
so now the question is ...
Could be possible to store the setup i made with the OBS gui and then recall it in an headless server, running OBS without it spwans the graphic interface?

Quite like make a "playlist" with VLC and recall it in CVLC :D
 
Last edited:

shaolin

Member
Hmm, I know you can compile obs without a GUI, I'm not sure if you can send a command line args to run it in headless just fine.

That being said. All GUI settings are stored in your profiles so you have access to that data BUT the GUI cpp code in OBS handles a lot of reading those settings and initializing the libobs backend.

I would recommend you check OBS Docs. https://obsproject.com/docs/
 
Top