3 ms·
My specific use case is for automating the creation of videos that require a full desktop setup to record: I run a few channels similar to this one, which prov
by davidweatherall 5y ago
My specific use case is for automating the creation of videos that require a full desktop setup to record:
I run a few channels similar to this one, which provide value by showcasing how the top-end League of Legends players play the game:
https://www.youtube.com/channel/UCMvtjPFhJR0BeErid-s1Zbg/videos https://www.youtube.com/channel/UCMvtjPFhJR0BeErid-s1Zbg/vid...
Manually curating all of these videos would take a lot of time and effort.
In order to record these videos, I have scripts set up that load high level games ready to spectate, start watching via the League of Legends spectator client, play the replay back, start recording using OBS, programmatically adding an overlay to the videos showcasing information (which would be much harder to do post-production as this would require re-encoding a full 25-50 minute video each time), stop recording with OBS, and then upload to YouTube with relevant title / description / thumbnail.
I could (and have looked into) hooking directly into windows APIs to do the recording, and editing of the videos, but it is much easier with OBS.
- sofixa 5y agoIs any of the code available publicly? I'd be interested in seeing how you use libobs for stuff like adding the overlay.
- davidweatherall 5y agoFor that specific project - no. But I'm also using this code in a consumer focused desktop client, for gamers to record their own gameplay and review it back (replays.lol) The obs-studio-node integration code can be found here: https://github.com/davidweatherall/replayslol-obs-recorder/blob/main/src/NodeRecorder.ts https://github.com/davidweatherall/replayslol-obs-recorder/b... The purpose of this code is to find the active league of legends executable, create a 'Game Capture' source with the league of legends window as the input, and then add that source to a 'Scene', and then start recording when triggered, and stop recording when triggered. The function (setupScene) on line 55 is the interesting OBS stuff. Unfortunately this doesn't include any overlay stuff, but it's all done in a similar way, where I add a source with a locally hosted server as a 'Browser' Source on top of the gameplay, with the parameters of the URL telling the server what information I want to be displayed on the website. The overlay is just a website, with a transparent background, and content determined by the parameters. - Here is what the website base code looks like - https://gist.github.com/davidweatherall/68e6d4422ce4c0b6fbccffca73151c2f https://gist.github.com/davidweatherall/68e6d4422ce4c0b6fbcc...
- sofixa 5y agoThanks!
- mrkramer 5y agoInside League of Legends' client you can download game replays you don't have to record them with OBS.
- davidweatherall 5y agoYes, but people like to be able to search on YouTube 'Lee Sin Challenger Replay' and immediately get a video of a high level game with a familiar video UI.