These are notes while researching a way to convert a browser/website to a stream. This could be used for Facebook Live or for webrecording.
- I started with Phantomjs - but that didn't support the html5 video tag
- SlimerJS supports it, but there is no way to record audio directly (though this might come from desktop audio)
- So I moved to research ffmpeg/X11/XVFB to record it with linux which works
- But ffmpeg has no easy way to mix streams/overlays to I moved on to OBS with overlay browser support
- I started researching options OBS in docker and it needed best a GPU , so I move to nvidia-docker
- And so came across building game servers on EC2/AWS using GPUs and managed to run OBS inside of GPU g2x.large machine
- I tried streaming to twich , which works great and managed to restream 4K 60FPS youtube on an AWS instance
- Remote control works through OBS-Remote but OBS has kinda limit in types of features
- Xsplit (some JS automation), Wirecast (no automation found, besides keypresses) , Livestream.com (non-scriptable) and found Vmix.com which an API (but costs 799$)
- For Overlaying systems , nodeCG looks nice
- Sending RTMP to FBlive and periscope works fine
- Looked into redundancy for RTMP as FBLive ends the post/stream when the stream ends (options are ffmpeg UDP switch over and zencode RTMP ping)
- For CDN still looking livestream.com vs Cloudfront/Fastly with their HLS setup
- Possibly use restream.io to send it to multiple feeds.
To be continued.
XVFB linux recording:
Setup windows EC2/GPU/OBS:
Controlling OBS from remote: