• MediaFlood

last modified January 6, 2019 by strypey

Goals and Objectives

The goal of this project is to massively decentralize the hosting of rich multimedia content on the web, by providing a set of up-to-date, easy-to-follow documentation for using free code tools to host and stream audiovisual files. These could be hosted on FLOSSManuals.net. By making existing tools accessible to a wide range of creators, we hope to break the oligopoly of the media corporations, and increase the diversity of art available online. We also hope to stimulate developer interest in resuming abandoned projects like the Broadcast Machine (see below), or creating new free code projects to help creators share their work with audiences, and help audiences reward these creators (and the software developers for that matter) with one-click donations (see Virtual Hat ).



Currently, most people who want to publish audio-visual files on the web rely on a handful of ad-supported commercial sites like YouTube, Vimeo, BlipTV, SoundCloud, MixCLoud, and another handful of non-profit corporations like Archive.org and the Wikimedia Commons. Smaller sites like individuals blogs and group blogs, and non-commercial news sites usually rely on embedding audio and video hosted by these larger organizations.

The reasons for this are that audio-visual files are many times larger than text or graphic files, meaning that they use a lot of space on the hosting server, and use a lot of bandwidth whenever a user views or downloads them, and the cost of all that drive space and bandwidth has been prohibitive for smaller organizations. The other reason is that the software for managing the streaming of video is either expensive, or in the case of free code options like IceCast, too complicated for most users. Many of the commercial organizations, notably YouTube, have tended to rely on streaming files using proprietary software like Flash that prevents users making a local copy, although even YouTube have said they are planning to offer downloads for video that has been licensed under CreativeCommons.

The ideal solution would be to use a peer-to-peer network (like BitTorrent) to share the cost (both financial and technical) of transferring the content across a network of users. I (Strypey) first heard this idea advanced by the developers of Swarmcast, which started out as a proprietary system but the client software was released in late 2000 under "BSD", and GNU GPL and LGPL licenses, and elements of its code were incorporated into the development of Alluvium, a similar "peercasting" technology developed by ActLabTV. Swarmcast was rendered somewhat obsolete by the release of the first BitTorrent client, and is now discontinued.

The next group to jump on this concept was Downhill Battle, who used the BitTorrent protocol to create BlogTorrent (registered on SourceForge in 2004) as a proof-of-concept prototype, and then the Broadcast Machine, which was launched in 2005. Around that time, they changed their name to the Participatory Culture Foundation (PCF), and launched what became their most well-known project; Miro (first launched as the DemocracyPlayer). These apps are no longer under active development and the group seem to have abandoned the idea, as there is no reference to these projects on their website, or the Miro website. Actually, it seems PCF have also abandoned the Miro project itself, but is still working on other video software projects, particularly translation tools like Amara.

Around the same time Downhill Battle began work on Blog Torrent, a team at Delft University of Technology in the Netherlands began work on a fork of ABC (Yet Another BitTorrent Client) called Tribler. This had some of the same goals to Blog Torrent/ Broadcast Machine, as well as replacing the centralized trackers and search sites that BitTorrent networks traditionally rely on, but unlike the abandoned Broadcast Machine, it has evolved into a thriving open source community still based at Dutch universities. Tribler has a similar UX (User eXperience) to another cross-platform BitTorrent client called Frostwire (GNU GPL).

Another seemingly abandoned prototype was the Project Maelstrom browser, a partially proprietary fork of the Chromium browser by the BitTorrent Inc. team, which aimed to decentralize not only media hosting but entire websites, HTML, CSS, Javascript and all. The alpha was released in 2014 but the project was canned in late 2016 before it got out of beta. There's a chance the underlying technology will emerge as either a Chromium/ Chrome add-on or as part of uTorrent, the proprietary (since 6.0) client software developed by BitTorrent Inc. It's also possible that some of the work done on Maelstrom was either inspired by or contributed to the work of the WebTorrent project (see this PeerTube demo site), which is perhaps the closest so far to offering the tools to realise the MediaFlood vision.


Free Code Apps for Sharing and Streaming

Some of the software we could test and mention in MediaFlood documentation includes:

  • CamStudio (GPL) - captures desktop activity, audio, and webcam, turns these into an AVI file, and turns that into a Flash stream, which is not ideal, but it does do streaming.
  • Frostwire (GPL) - a free code media player integrating a BitTorrent client and search functions. The in-app home page promotes CC-licensed works.
  • IceCast (GPLv2) - streaming server for patent-free formats like Ogg Vorbis. Developed by members of the Xiph.org community.
  • OpenBroadcaster (GPLv2+) - "video recording and live streaming", available for GNU-Linux, MacOS, and Windows.
  • PeerTube (AGPLv3) - a video-hosting server using WebTorrent (see below), and allowing many PeerTube sites to connect with each other, and with federated social network software like GNU Social and Mastodon, using an open standard called ActivityPub.
  • Red5 (Apache 2.0) - Flash-based streaming server. Probably now irrelevant due to the introduction of <video> tags in HTML5, and the WebM video file format. Introductory documentation provided by theDesignSpace.
  • Transmission (GPLv2) - One simple way to share a media file from a home computer is to create a torrent for a file on your hard drive, and add that torrent to a BitTorrent client on your computer. I successfully did this with the ccKiwi video using Transmission on Ubuntu 11.04.
  • Tribler (LGPLv2.1+) - BitTorrent client, similar to Transmission, but claims to use "TOR-inspired routing" and specifies that streaming content is part of its feature set, they have already undertaken streaming experiments over BitTorrent. They also developed SwarmPlayer as a Firefox plug-in for watching streams using existing BitTorrent swarm, but this doesn't seem to be under active development and has been superseded by WebTorrent (see below).

Innovative Hosting Services

 Existing websites that use free code software on their servers, actively support CreativeCommons licensing, or offer innovative ways for audiences to help creators make a living while freely enjoying the fruits of creative work.

  • BitTunes is an independent digital music market that uses BitCoin to collect from audiences and pay out to artists.
  • CCMixter is a remix site that grew out of the CC network
  • D-Tube is a video-hosting site using IPFS and the Steem blockchain.
  • Jamendo is a web store for independent music artists using CC licenses. They also sell commercial use licenses and collect royalties for artists on their platform.
  • LivePeer is a bit like D-Tube but for live-streaming, and using the Ethereum blockchain
  • Resonate.is a cooperatively-owned media streaming service, owned by the musicians and audiences who use it, based on a blockchain database created by BigChainDB.
  • PonoMusic is a project to give audiences access to music in the  high quality ("lossless") FLAC format, via both a hardware player (PonoPlayer), and an web store for buying music in FLAC. Founder Neil Young seems genuine in his desire to serve artists and audiences, but Pono's methods don't impress one writer associated with Xiph, who created the FLAC format.
  • Vodo is a distribution site for independent film-makers, using BitTorrent for distribution, and collecting donations for creators. As of early 2018 their site is is seriously outdated, but the concept and the films they've featured are both cool, and hopefully upgrades are on the way.


Other Resources

There are a number of others tools which could be useful in self-publishing music and film work on the web:

  • Ascribe uses the BitCoin blockchain to record the authorship of digital works in a decentralized database. CreativeCommons France have been collaborating with Ascribe to help artists and authors using CC licenses get attribution when their work is distributed or re-used.
  • Creator-Endorsed Mark is a set of Trademarks owned by QuestionCopyright.org, which can be freely used to mark commercial products which are endorsed by the creator of the work the product is based on
  • CCPublisher is an application available for most common platforms (GNU/Linux, Mac, Windows etc) which helps creators upload their CC-licensed work to Archive.org
  • Free formats are file formats for audio-visual media which are open standards, free for anyone to use, and not covered by patents 

Commons Tracker

I've been thinking for a while that a LinuxTracker style site for tracking swarms sharing CC-licensed work would be quite cool. I found a Russian site called SoundPark and another site called Music Torrent which illustrates roughly what it would be like, but I would want it to be strictly not-for-profit, with no seedy advertising a la SoundPark or TPB. Maybe discreet, relevant, non-tracking advertising to cover costs, such as paid promotion for upcoming shows, album releases, film releases etc.

Commons Servers

Reliable server storing copies of CC works which have been or might be featured on the Common Culture show. Each work is stored in the highest available quality, for posterity, and made available online in a range of formats and quality levels, as appropriate. For example, a musical album might be stored in Ogg FLAC for posterity, but made available in variable-bitrate Ogg Vorbis and MP3 for general use, or a speech only recording (spoken word, poetry reading, audio books etc) might be stored in Ogg Opus for posterity, but also made available in MP3 for general use.

BitTorrent and Web Seeds, or WebTorrent, could be used to make the archived media available to the public, while giving them a way to share the bandwidth costs of distribution, a la LinuxTracker. There are many other bleeding edge file storage and distribution technologies that could be tried.

Free Code Software For Storing and Distributing Media

  • Solid - "(derived from "social linked data") is a proposed set of conventions and tools for building decentralized Web applications based on Linked Data principles. Solid is modular and extensible. It relies as much as possible on existing W3C standards and protocols"
  • WebTorrent ("MIT") - uses WebRTC to allow browsers to play streaming media in the browser directly from BitTorrent swarms without having to download first. Instant.io allows users to experience WebTorrent, by pasting in a magnet link for a video file currently being shared in a BitTorrent swarm, and watching the video right there on the site.
  • BlockChain and Crypto-token Storage Projects - giving these bleeding edge projects their own category as loads of them will probably start and fail before any become mature, effective, and widely used:
    • Force Network - "A cryptocurrency solution that enables real network privacy. Incentivised nodes facilitate the transfer of encrypted information that keeps the source and destination IP addresses hidden from each other."
    • HoloChain - "Holochain and blockchain are built for fundamentally different use cases. Blockchain is relatively good for systems where it’s absolutely necessary to maintain global consensus. Holochain is much better than blockchain at anything that requires less than universal consensus (most things): It’s faster, more efficient, more scalable, adaptable, and extendable"
    • IPFS ("MIT") - stands for Inter-Planetary File System, "A peer-to-peer hypermedia protocol to make the web faster, safer, and more open", using tech derived from BitCoin to create a sort of giant BitTorrent swarm containing all files, accessible to all users. FileCoin is buiding their own distributed file storage system involving a crypto-token and a blockchain, on top of IPFS.
    • MaidSafe (GPLv3 at least for utilities) - "the world's first autonomous data network", a distributed file storage system involving a crypto-token (SafeCoin), but unlike FileCoin it doesn't use a blockchain.
    • Minds (APGLv3) - a publishing system that allows people to publish content, and to pay for content they appreciate using crypto-tokens (based on Ethereum?)
    • Steem is a "blockchain-based rewards platform for publishers to monetize content and grow community".
    • Swarm (alpha) - "serverless hosting incentivised peer-to-peer storage and content distribution" part of the Ethereum Project (Go implementation is GPLv3/ LGPLv3) cloud of free code crypto-token projects
    • ZeroNet (GPLv2) - started in 2015 with a similar goal to Maelstrom, but an open source development model, and adding the use of BitCoin addresses as a substitute for IP addresses. Sites are limited to 10MB of storage, but magnet links on their pages could be used to fetch larger media files through ordinary BitTorrent seeding and downloading.