This product has been put on indefinite hold for legal reasons. See below
Stream copyrighted video / audio over Twitch streams without copyright infringement
What is it • Installation • Getting Started • Legal
Streamchu is the in-house development name for a product that would have allowed Twitch streamers to stream copyrighted content such as music or videos in their Twitch streams over a Twitch extension without having to worry about infringing on an artist's rights.
With our product, we were hoping to bring an end to the reoccurring and persistent problem of copyright-infringement on Twitch with a win-win situation. One where the streamers could still enjoy content with their viewers and where the creators of such content would still be compensated for their hard work.
This would have worked by "capturing" whatever it is that the streamer was currently playing on eg. Spotify, YouTube, Apple Music, etc. and transmit a resource locator over our extension backend to every connected client (Twitch extension) to have the selected title play over the viewers own, private, paid for (Spotify Premium, YT Ads, etc.) connection, thus effectively paying the artist the appropriate amount based on viewership.
The code in this repository is a mostly production-ready (with exception of stream.js) Node.js backend that can be repurposed to function as a performant way to log in users to your service, manage large clusters of Amazon EC2 / VPS instances and ensure secure communication between host and instances. The stream.js script uses the by far most performant WebSockets library available and can be repurposed as a general-purpose pub-sub server or JSON API that can handle up to 1 MILLION concurrent clients.
Installation is as following:
1. Clone repository
2. Copy main_server to the instance you wish to use as the controller for your instances
3. Copy server_instance to every EC2 / VPS instance
4. Install a MySQL server on the controller, see the wiki for setup
5. Run hive_controller.js on the controller and login.js if you wish to use it
6. Run instance_master.js on the instances. The project was abandoned before this process could be automated
7. Enjoy
The hive_controller will respond to commands, type anything to see the available options. It is recommended to use a product such as StrongLoop Process Manager to ensure your application automatically restarts. Furthermore, remember that this project was abandoned before launch, so even though for the existing parts of the codebase plenty of testing has been conducted I cannot assure you that no bugs/vulnerabilities exist in the codebase. Always check for yourself.
After consulting our lawyer this project had to be abandoned as we were unaware that, even though the playing of the copyrighted work is legal, one furthermore requires a so-called sync-license if the copyrighted work is accompanied by a visual aid such as a Twitch stream. The negotiation of a sync-license for every song or other work in existence would be prohibitively expensive for us so the project was put on ice.
Whilst we later realized an alternative to our product exists (Amazon Music) the service seems to have failed what we were trying to achieve, probably because it required everyone to have a premium subscription to a service with a relatively low market share and did not allow for the "translation of service" (Streamer plays on Spotify, viewer listens to on Deezer) that we were going for. This created a barrier of entry to streamers hoping to utilize their product in their streams as it would have alienated a significant part of their viewership.