• MediaFlood

last modified April 25 by strypey

Background

Currently, most people who want to publish audiovisual 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 organisations.

The reasons for this are that audiovisual 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 organisations. 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 organisations, 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. 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 after they changed their name to the Participatory Culture Foundation (PCF). 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, although they also seem to have abandoned the Miro project itself. The PCF 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 demo site BitChute), which is perhaps the closest so far to offering the tools to realise the MediaFlood vision.


Goals and Objectives

The goal of this project is to massively decentralise 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, or creating new free code projects to help creators share their work with audiences, and help audiences reward these creators with one-click donations (see Virtual Hat ). Some of the software we could test and mention in MediaFlood documentation includes:

  • CamStudio - 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 (GNU GPL) -
  • IceCast (now part of the Xiph.org community) - streaming server for patent-free formats like Ogg Vorbis
  • IPFS (Inter-Planetary File System) - "A peer-to-peer hypermedia protocol to make the web faster, safer, and more open."
    • Miro (GNU GPLv2 or later, seems to be discontinued) - good intro by OpenMediaBoston (can we use Miro to seed content? who knows?)
    • Red5 - Flash-based streaming server. May now be irrelevant due to the introduction of <video> tags in HTML5, and the WebM video file format. Introductory documentation provided by theDesignSpace
    • 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"
    • Swarm (alpha) - "serverless hosting incentivised peer-to-peer storage and content distribution" part of the Ethereum Project cloud of free code cryptocurrency projects
    • SwarmPlayer - Firefox plug-in for watching streams using existing BitTorrent swarms
    • Transmission - 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 - 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
    • ZeroNet - 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.
    • WebTorrent - 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. BitChute is a demo of a video sharing site using WebTorrent.

    Other Resources

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

    • The 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 - file formats for audio-visual media which are open standards, free for anyone to use, and not covered by patents
    • 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. 

    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 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 would 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.