markdown 研究Livestream.md

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 研究Livestream.md相关的知识,希望对你有一定的参考价值。

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.
TL'DR:
- 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.

Phantomjs:
- Recording a page with phantomjs & fmpeg - <http://mindthecode.com/recording-a-website-with-phantomjs-and-ffmpeg/>
- Ffmpeg recording/Docker with - <https://hub.docker.com/r/danscan/node-ffmpeg-phantomjs/>
- Browse web in VR using Aframe using phantomjs & ffmpeg - <https://github.com/cjroth/aframe-phantomjs-continuous-streaming>
- Simple gist on recording - <https://gist.github.com/phanan/e03f75082e6eb114a35c>
- using Render Animated Content from HTML5-Canvas - <https://blog.animatron.com/2014/01/22/how-we-render-animated-content-from-html5-canvas/>

Slimerjs:
- Recording WebGl apps with slimerjs on EC2/AWS - <https://gist.github.com/vizath/7eeab41a42cb0a95f0f4> 
- Recording slimerjs with ffmpeg & gif /dev/stdout - <https://github.com/laurentj/slimerjs/issues/369>

XVFB linux recording:
- Docker, ffmpeg and vnc for recording, xvfb <https://github.com/fcwu/docker-ubuntu-vnc-desktop/blob/master/Dockerfile>
- Using ffmpeg & X11 to grab and stream ustream, hulu, twitch.tv - <https://github.com/karlellis/ScreenStudio>
- Grabbing XFVB & FFmpeg hulu, netflix etc.., uses selenium to log you in - <https://github.com/grayleonard/xvfb-record/blob/master/login.py>

Docker/X11/GPU:
- Jessie Frazelle's blog - Docker containers on the desktop - examples on using X11 on OSX to run some X clients like Skype, Chrome etc.. - <https://blog.jessfraz.com/post/docker-containers-on-the-desktop/>
- Docker for Mac and GUI applications by Frederik Averpil - <https://fredrikaverpil.github.io/2016/07/31/docker-for-mac-and-gui-applications/>
- Nvidia Docker(gpu) - <https://github.com/NVIDIA/nvidia-docker/wiki/Deploy-on-Amazon-EC2>
- Setting up Coreos to use GpU - <https://github.com/ryanolson/CoreOS-GPU>
- Building Nvidia drivers on Coreos Linux - <https://github.com/Clarifai/coreos-nvidia>
- Simplify building Nvidia drivers on Coroes - <http://blog.clarifai.com/how-to-simplify-building-nvidia-gpu-drivers-on-coreos/#.WH4-bLYrLUJ>

Setup windows EC2/GPU/OBS:
- Reddit page on "MFPlat.dll missing" - <https://www.reddit.com/r/starcitizen/comments/3wi7is/psa_if_you_get_a_missing_mfreadwritedll_or/>
- Solves "MFPlat.dll is missing" - First need to install Media Services feature before then Adding Media Feature Pack - https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/media-feature-pack-for-windows-10-n-was-removed-by/f593a2ec-d475-44e3-8eb9-cd3f0cbf69fa 
- Cloudgaming on EC2 - Nice markdown & screenshot of the setup - <https://github.com/PixelPirate/ec2-gaming>
- Setup Windows on GPU notes from Daniel Thomas (specific on NV_Modes to support more screenmodes> - <https://github.com/DanielThomas/ec2gaming/wiki/First-time-configuration>
- Golang VNC Alternative - <https://github.com/openai/go-vncdriver>
- Cloudformation template to run AWS EC2 gpu Windows - <https://serverlesscode.com/examples/2016-05-steam-engine.json>
- AWS EC2 gpu Windows - Gaming on a Budget - <https://serverlesscode.com/post/gaming-on-a-budget-cloudformation/>
- EC2 gpu gaming with Steam in-Home Streaming , no specifics - <http://www.51samplecode.com/download/c43a4937p0.html>
- Startup time and using EBS , seems to hint you best pre-warm your EBS before playing games - <https://www.reddit.com/r/cloudygamer/comments/5a1r9v/startup_time_and_using_ebs/>
- Reddit page around cloudygames - <https://www.reddit.com/r/cloudygamer/new/>
- Powershell automated setup script for AWS Windows GPU setup - <https://github.com/lg/cloudy-gamer/blob/master/cloudygamer.psm1>
- lg.io Original poster Lang - github repo on AWS EC2 gaming - <https://github.com/lg/cloudy-gamer#beta-automated-cloudygamer-provisioning-of-machine>
- lg.io Reviewed EC2 - Revised and much faster , run your own high-eng cloud gaming on EC2 - <https://lg.io/2015/07/05/revised-and-much-faster-run-your-own-highend-cloud-gaming-service-on-ec2.html>
- lg.io Cloudy Gamer - Playing overwatch on Azure's new monster GPU Instances , cheaper & faster than AWS EC2 - <https://lg.io/2016/10/12/cloudy-gamer-playing-overwatch-on-azures-new-monster-gpu-instances.html>
- Cloudar post on AWS EC2 Gaming - some good hints on Nvidia setup - <https://cloudar.be/awsblog/how-to-use-aws-ec2-gpu-instances/>
- Some nerdy paper on building an open cloud gaming system - <http://gaminganywhere.org/gaming_anywhere.html>
- Seems OVH has gpus too - <https://www.ovh.com/us/dedicated-servers/gpu/>
- Gaming on aws - Another post with screenshots how to setup aws , drivers etc - <https://nexus.vert.gg/gaming-on-amazon-s-ec2-83b178f47a34#.79i943ovi>
- Soon Nvidia may have their own game cloud - <https://techcrunch.com/2017/01/04/nvidias-geforce-now-puts-a-gaming-pc-in-the-cloud/>
- AWS EC2 Elastic GPU's on Reddit - <https://news.ycombinator.com/item?id=13072478>
- AWS Blogpost on Elastic GPU's - <https://aws.amazon.com/blogs/aws/in-the-work-amazon-ec2-elastic-gpus/>
- AWS Instance types GPU's - <http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/accelerated-computing-instances.html#optimize_gpu>
- New P2 Instance Types on aws - <https://aws.amazon.com/blogs/aws/new-p2-instance-type-for-amazon-ec2-up-to-16-gpus/>

Setup linux/GPU:
- An ubuntu gpu desktop - <https://github.com/rncry/gpu-desktop>
- Discussion on CasparCG on AWS ec2 GPU - <http://casparcg.com/forum/viewtopic.php?f=3&t=2050>


OBS:
- Silent install - <https://chocolatey.org/packages/obs-studio/0.15.4>
- Run OBS on EC2 Windows instances - <https://obsproject.com/forum/threads/how-to-run-obs-studio-on-aws-ec2-windows-2012-r2-instance.44337/>
- Running OBS inside of Docker - <https://github.com/Spoon4/docker-obs>
- Another one running OBS inside docker , hints at using XVFB is possible to run it - <https://github.com/danielguerra69/obs-studio/blob/master/Dockerfile>
- OBS Lag issues - Use gpu in streaming settings - <https://youtu.be/GH8ZZRo91iM>
- OBS black window for Chrome - don't forget to disable in Chrome/Advanced/Device accelerations

Controlling OBS from remote:
- NodeCG remote interface using javascript - <https://github.com/nodecg/obs-remote-js/blob/master/docs/OBSRemote.md>
- OBS-Browser studio browser plugin - seems to handle events , but no changes - <https://github.com/kc5nra/obs-browser>
- OBS-Websocket - <https://github.com/Palakis/obs-websocket>

Overlay systems:
- OBS Overlay system -  <https://github.com/spenibus/obs-overlay-html-js> - See blogpost <http://spenibus.net/b/p/p/OBS-Overlay-The-illustrated-guide>
- Twitch overlay system - <http://overlayr.net/>
- Twitch overlay - <https://twitchoverlay.com>
- Stream Pro - <https://streampro.io/>
- Strexm.tv - <https://strexm.tv/>
- StormG - <https://github.com/caitp/stormg>
- NodeCG Dashboard solution gist - <https://gist.github.com/Lange/021285daa424578763f7fdc83ba3772a>
- NodeCG Awesome demos - <https://github.com/nodecg/awesome-nodecg/blob/master/README.md>
- NodeCG Docker image - <https://github.com/nodecg/nodecg>
- Insight into Stream Overlay creation - <http://lilchen.com/blog/insight-into-stream-overlay/>
- OBS Studio browser plugin github - <https://github.com/kc5nra/obs-browser>
- NodeCG documentation - <http://nodecg.com/>
- NodeCG transition bundle - <https://github.com/Tam/nodecg-transition>

Livestream control:
- Livestream seems to have a studio cloud version and hints at a web control - <http://www.lemac.com.au/GeneralNews/LivestreamannouncesnewStudio40andStudioCloudsoftware.aspx>
- Livestream web control page - <https://studio-webcontrol.livestream.com/>
- More explanation on Studio Web Control - <https://help.livestream.com/hc/en-us/articles/216286388>

Xsplit control:
- Javascript framework for control of xsplit - <http://xjsframework.github.io/quickstart.html>

Vmix Scripting:
- Vmix Web API - <http://www.vmix.com/help17/Scripting.html>

CDN:
- Fastly Video caching system - <https://docs.fastly.com/guides/about-fastly-services/about-fastlys-video-caching-service>
- Livestream studio for incoming rtmp streams - RTMP Server - <https://help.livestream.com/hc/en-us/articles/217694678-Setting-Up-Studio-as-an-RTMP-Server>

RTMP:
- Docker-Nginx-RTMP - <https://github.com/R0GGER/docker/tree/master/obs-streaming>
- MistServer - FFmpeg , RTMP, RTSP, WebUI , HTTP - <https://github.com/R0GGER/mistserver>
- Live failover configuration - Wowza support - "But you can configure fail-over with Live Stream Repeater:" - <https://www.wowza.com/forums/showthread.php?36203-Live-failover-configuration>
- Selfhosted Alternative to FB Live using Nginx (record,stream and archive videos on end) - <https://aaronparecki.com/2016/11/19/15/self-hosted-facebook-live>
- Private RTMP Server using Nginx - <https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/>
- Youtube explaining RTMP - Nginx - <https://www.youtube.com/embed/RqzFGeHMdLo>

以上是关于markdown 研究Livestream.md的主要内容,如果未能解决你的问题,请参考以下文章

markdown Mathematica Keygen算法研究

markdown Appstore优化研究

markdown 我的访谈研究路线图

markdown js:反应研究

markdown 应用架构研究

markdown 研究案例:“InnoDB:数据库没有正常关闭!”