Help put together an open streaming platform!

I have been following the discussion started by Cory Doctorow regarding the use of open standards for public broadcasters. It is an important discussion and most of us agree that the use of an open standard that is not controlled by any corporation is the best solution when public broadcasters choose their system for making content available on new platforms.

The discussion has brought back issues that touch the problem with current business models, the way the internet can be used to stream private content all over the world and the big ugly question of digital rights management (DRM).

The internet and powerful sites like BoingBoing and Slashdot are excellent places to bring discussions like these on the agenda. Because Cory used the Norwegian Broadcasting Corporation’s new service for media centers as the example to bring this discussion back into motion I have been following this one with an extra attention to detail.

A very short summary:
– Public broadcasters should use open standards
– People in general agree on this
– Microsoft Windows Media is not an open standard
– The public broadcasters should choose something else
– People question the knowledge of the broadcasters

I work for a public broadcaster, and believe me – we follow this closely. We look for alternatives. The completion of H.264 as a codec gives an alternative when it comes to quality, stability and use of bandwidth. The VLC-player is an interesting and open player that it should be possible to build something user friendly upon. Depending on CPU-useage and storage space available it is even possible to encode into several formats simultaneously in real time. Etc. Etc.

Still, I fail to find one single blog, comment or article that actually suggest a complete, working alternative.

Yes, this is the responsibility of the broadcasters themselves. They should find the solution. They should not just take the easiest way out. However, the public broadcasters would die if they where kept from competing with the commercial broadcasters that already operate with a system that reach more than 90% of the users (but is controlled by a big corporation). So, while waiting for an open alternative I find it vital that the public broadcasters are competing through the existing solutions.

But – to speed up the work, could we use the power of the internet to gather forces and draft a solution? Something that we could point broadcasters to when they say that there is no alternative? Because, I am afraid that this discussion is quite ineffective as long as the general opinion is that no alternative exist. If I could reach out to the BoingBoing and Slashdot crowd, the brains, geeks, programmers and utterly talented people out there. Maybe we could find the solution that is as real as Firefox is for replacing IE?

The internet is an excellent tool for doing more than pointing out what’s wrong. It’s absolutely capable of helping find a solution as well.

I will be more than happy if this results in the broadcasters realizing that they are simply not informed, and that a complete and working alternative is right there in front of them.

Regardless of what suggestions this lead to, this effort could give valuable input to the roadmap of what has to be done to create an alternative.

These are some simple guidelines of what a broadcaster needs:

1. Encoding
– Video input through SDI
– Audio input through AES/EBU, SPDIF and analogue
– Possible to encode several qualities in real time simultaneously
– Video quality comparable to WMV9 on the same bandwidth
– Audio Quality comparable to WMA on the same bandwidth
– Support for 5.1 sound
– Support for HD-content
– Time code and metadata in the video/audio stream

2. Streaming server
– Support for high volumes on unicast (typically, several thousand simultanious users)
– Prepared for multicast
– A user friendly interface that can be operated by non technical staff to manage content
– Detailed statistics
– A system for automatic caching of content out to several servers

3. Player
– Easy to install
– Multi plattform
– Must support an API to make it possible to build several different presentation layers utilizing the same player and codec
– Support for 5.1 sound
– Support for HD-content

I suggest that we try to draft three levels for the solution:
a. One completely open. No DRM. No payment.
b. One with a working DRM that the big studios and content owners accept
c. One with both DRM and a payment solution

One very important factor for all levels is the cost of the encoding, streaming server and the player.

These are not by any means the complete requirement specifications. It is a set of guidelines. And please also submit suggestions that doesn’t meet all of them.

Post suggestions directly as comments here, as a trackback from your own blog or as a link to a web site describing the solution. Del.icio.us tag for links in addition to posting them here: “opencast

Help put together an open streaming platform!

29 thoughts on “Help put together an open streaming platform!

  1. Open streaming platform?

    A very short summary: – Public broadcasters should use open standards – People in general agree on this – Microsoft Windows Media is not an open standard – The public broadcasters should choose something else – People question the knowledge…

  2. Wes Felter says:

    The Internet Streaming Media Alliance has been working on standards for just this sort of situation. ISMA 2.0 uses H.264+AAC+MP4+RTP+RTSP to provide streaming that is competitive with Windows Media but completely open standard. Live encoders are available from Envivio, Tandberg, LSI Logic, etc. Streaming servers are available from Apple, Sun, and Kasenna. Software players are available from Apple, VideoLAN, and maybe Real.

  3. meuserj says:

    Using Theora and Flumotion would definately work for number one. Using it with Cortado would insure that the client would be able to play it no matter what software the user has installed. However, it isn’t possible to DRM a completely open-source codec, so it wouldn’t work for number 2 and 3.

  4. QuickTime is now more interesting than ever. With support for H.264 QuickTime finally has a codec that can compete with WMV9 and other advanced MPEG4-codecs.

    The Internet Streaming Media Alliance is interesting. Some of the encoders mentioned are extremely good but unfortunately also extremely expensive. Still, a solution based on H.264 with a possibility for DRM might be the best alternative right now.

    Flumotion keeps poping up in these discussions. Anyone with experience on using Flumotion towards many users (several thousand?)

    I have checked out Dirac. Not ready for implementation right now. Would it be possible to speed up the work if more broadcasters joined the work on that new codec?

  5. Having worked in broadcast, I’m sure that what the broadcasters are looking for is a single-vendor, plug and play solution and not a set of tools. They want a single company that can sell them a box with SDI coax inputs on one side and an ethernet wire on the other with a decent content management tool in the middle. They’re likely willing to pay a fair amount for that, and a fair amount for annual maintenance contracts.

    While it would be pretty easy to put such a thing together, I don’t know that there is anything like a single company from whom you can BUY a plug-and-play solution. Which smells a LOT like a business opportunity to create a digital rights friendly, open source based business with a significant revenue stream.

    I’m down…

  6. If trying to avoid proprietary MPEG-4 formats such as Windows Media and Quicktime – look into the XviD open-source codec and the VideoLAN streaming application.

  7. Jonathan Peterson Says:

    Which smells a LOT like a business opportunity to create a digital rights friendly, open source based business with a significant revenue stream.

    You are completely right! Put together that future proof system based on open standards and provide installation and maintenance for a reasonable fee. This smells of business.

  8. Joergen Ramskov says:

    Not that I know much about it, but from what I hear, Dirac should be pretty promising. It’s not quite ready for use but it looks like it’s progressing nicely and for a longer term solution, it would probably be a better codec to bet on. Considering that it’s BBC that’s launched the project, it fits very nicely in here.

    You guys should spend a tiny bit of those oil billions helping them :p

    I wish our national broadcast station (Danmarks Radio) would support it too, but I sadly don’t find that likely to happen 😦

  9. H.264 is NOT an “open standard”. Just like every other so-called-open ISO/MPEG standard (MP3, MPEG-2/DVD, MPEG-4/DivX, MPEG-4/AAC), H.264/AVC is subject to (pretty heavy) licensing royalties, for all the patented technology it uses:
    http://en.wikipedia.org/wiki/H.264#Patent_licensing
    http://www.mpegla.com/avc/
    http://www.vialicensing.com/programs/
    (BTW, MPEG LA = LG, Microsoft, Samsung, Siemens, Sony and others; while VIA Licensing = Dolby)

    I know this is a tricky issue, cause they just love to call themselves “open” although they’re not. Yes, you can chose “competing” suppliers, but they all have to pay the same rates to the monopolistic patent pool… so it’s not that different from Microsoft’s monopoly.

    There are open source implementations of H.264 (like x264), but using them without paying royalties is illegal in every single country that acknowledges the MPEG patents. The same applies to MP3 (and LAME), MPEG-2 (and ffmpeg), MPEG-4 video (and XviD), and MPEG-4 audio (and FAAC)… those implementations are theoretically free and open, but completely illegal in many countries unless you pay the royalties.

    Right now, the only (truly) free solutions are Theora for video (maybe Dirac and/or Tarkin in the future), and Vorbis for audio… that’s why the BBC is sponsoring the development of Dirac, and has worked with Vorbis in the past:
    http://www.theregister.co.uk/2004/10/06/bbc_open_source_video_codec/
    http://support.bbc.co.uk/ogg/

    Theora + Vorbis is not a theoretical solution; it’s being used in real-world webcasts like the Fluendo/Cortado someone mentioned before, or the UTUTO TV channel (https://www.ututo.org/radio.php)

  10. Thank you very much for an excellent roundup. Not many people know that you actually have to pay licenses to Thompson if you use MP3 commercially and has a certain amount of revenue. Huge amounts of people think that QuickTime in gereral is an open standard. etc.

    What you write is (unfortunately) very, very correct.

    I know that there is a difference between codecs that are controlled by a group and codecs that are controlled by one single company. Still, the wonderful thought of a codec that is completely open and not controlled by anyone leaves few alternatives.

    The Ogg / Fluendo / Cortado combination seems like the only interesting alternative so far.

  11. – ” Not many people know that you actually have to pay licenses to Thompson if you use MP3 commercially …”

    You also have to pay for certain non-commercial usages. The only usage with non-commercial exception seems to be Distribution/Broadcasting/Streaming:
    http://www.mp3licensing.com/royalty/emd.html
    (“no license is needed for private, non-commercial …”)

    … because Software licensing terms don’t include ANY exception:
    http://www.mp3licensing.com/royalty/software.html

    This means all software projects using MP3 (either commercial or non-commercial) have to pay royalties, so if you broadcast in MP3 you’re forcing your audience not to use free/open software.

    – ” I know that there is a difference between codecs that are controlled by a group and codecs that are controlled by one single company “

    Yeah well… the difference is called “oligopoly” (instead of monopoly) 🙂

    Just look at the names of the companies behind those “licensing pools”, and you’ll see there’s NO COMPETITION AT ALL (so it’s pretty much a monopoly).

    – ” The Ogg / Fluendo / Cortado combination seems like the only interesting alternative so far “

    Well… Ogg is just a framework (and a container format); their video codec is called [Ogg] Theora, while their audio codec is called [Ogg] Vorbis.

    Fluendo is just a company, and Cortado is their Java applet (which allows Vorbis/Theora playback from any Java-enabled browser).

    BTW, their viewer (Cortado) works not only with their (also GPL) streaming server Flumotion, but with any other server that outputs Ogg Vorbis/Theora.

    Fluendo’s is a neat solution, but not the only one out there with support for Vorbis/Theora (think VideoLAN), and not necessarily the best one (depends on non-free/open and not-available-for-all-platforms Java).

    It’s great when you don’t want people needing to install players and/or codecs, but today many players support Vorbis/Theora out-of-the-box, and there are easy to install filters for those that don’t (eg illiminable.com/ogg for DirectShow players under Windows).

  12. Well… Ogg is just a framework (and a container format); their video codec is called [Ogg] Theora, while their audio codec is called [Ogg] Vorbis.

    Yes. I was thinking of Theora / Vorbis.

    Do you have any examples of big scale use of VideoLAN? I know that Google is using a special version the VLC-Player for their Google Video project, but how about the streaming server? Can VideoLAN be used as a server for big scale solutions?

  13. – ” Do you have any examples of big scale use of VideoLAN? ”

    No I don’t, so we should ask the VideoLAN guys.

    They do have a “consulting services” page, and one of the companies that provide professional VideoLAN services has a couple of impressive customers:
    http://www.anevia.com/customers.en.php
    (like France Telecom or Deutsche Telekom)

    And they also have a “We Use VideoLAN” wiki page, but the size of the organizations listed there doesn’t seem that impressive:
    http://wiki.videolan.org/index.php/We_Use_VideoLAN

  14. There’s also the Helix DNA Server (with built-in-support for Theora & Vorbis), which is open source under the OSI-approved RPSL:
    https://helix-server.helixcommunity.org/2003/devdocs/helix_server_comparision.html
    http://en.wikipedia.org/wiki/RealNetworks_Public_Source_License
    (Helix DNA is the open platform sponsored by RealNetworks)

    Using this server doesn’t mean you HAVE to use the Helix DNA Player: you can combine any Theora/Vorbis server you like (Flumotion, Helix, VideoLAN, others) with any player you like (Cortado, Helix, VideoLAN, Windows Media Player +filters, whatever).

  15. Hi Eirik,
    I work for Fluendo and we would love to work with you on this. The goals you have set is exactly what we are trying to acomplish with Flumotion and GStreamer. One earlier commenter claimed our solution is depending on Java which is pure BS. The only Java based thing we have is the Cortado applet, all the rest is done in C or Python.

    For the player part in general we leave that to others, although there are both Linux and Windows player in existence using GStreamer.

    Please come by #gstreamer on irc.freenode.net or contact me by email to talk further.

  16. Hi Erik,

    I’ve read these Blogs with varied interest and one thing that strikes me, is that you have completely FORGOTTEN the inventor of streaming media, RealNetworks.

    RealNetworks is the only true, open standard, open codec, open server streaming media platform available on the market today. In 2002 RealNetworks introduced the World’s first, with the Helix Universal Server, supporting over 50 codecs including the industry top five – RealMedia, Windows Media, MPEG-4, Quick Time and mobile 3GPP all from a single Helix Architecture. The Helix architecture enables you to stream native Real Media, Windows Media, Quick Time, MPEG-4 and 3GPP from a single platform delivering to native media players, i.e. Windows Media served from Helix to a Windows Media player.

    In addition, by choosing to use the RealMedia codec you reach over 450 million RealPlayer users, with RealPlayer widely available for PCs, Apple Mac, 3G and 2.5G mobile phones, Pocket PC PDA, Palm OS, Linux and Unix users. No other media player supports a wide range of playback devices and with a wide range of operating systems including a free download of RealPlayer.

    To assist media companies, RealNetworks introduced in August the European Media Program – offering a FREE Helix Server Unlimited capacity and RealProducer RealMedia encoder software to ALL Media companies in Europe. This enables any qualifying media companies to use Helix Server software in RealMedia format completely for free! More information is available on-line at

    http://www.realnetworks.com/info/emp/

    RealNetworks is the recognised market leader in the new mobile 3G market, with 85 Mobile Operators in 43 countries selecting Helix Universal Mobile servers to stream both RealMedia and 3GPP formats to over 30 million mobile RealPlayer handsets. Customers include a Global agreement with Vodafone, Teliasonera, Telefonica, T-Mobile and O2.

    RealNetworks openly supports standards and introduced the open source approach in 2002, through the Helix Community (www.helixcommunity.org) which has over 102,000 members to-date. The Helix Community makes available the Helix DNA Producer (for encoding) the Helix DNA Server (for broadcasting), the Helix DNA Client (playback) and Real Audio and Real Video codecs to developers and development companies globally.

    The Helix Community has produced great advances in consumer electronics, including the World’s first consumer electronics WiFi radio from Reciva, Cambridge, UK (www.reciva.com) with utilises the Helix DNA Client. By using the Helix DNA Client this WiFi radio is able to play RealMedia, MP3 and Windows Media from over 10,000 internet based radio stations. This clearly demonstrates the power of Helix and the RealNetworks approach to open standards enabling companies to develop technologies which support multiple codec formats through an open software approach.

    In addition, Helix Digital Rights Management (DRM) forms a core part of the Helix Universal Architecture, featuring a true multi-format DRM – supporting RealMedia, MPEG-4 and MP3 from a single application. The Helix DRM architecture is designed to add multiple formats as the market demands. Content is encrypted and delivered using the Helix Universal Architecture including Helix Universal Server – for encrypted streams and RealPlayer – featuring the Helix DRM client enabling multi-format content to be unwrapped and played on the playback device.

    During 2004 RealNetworks introduced Harmony – the World’s first multi-DRM client software that enables DRM media from one DRM format to be interchanged to other devices. With Harmony, content purchased from iTunes stores can be synchronised with other DRM formats including Windows DRM, Apple Fairplay and RealNetworks Helix DRM music jukebox devices allowing content to be played on the iPod and iPod mini, and products from Creative Labs, Rio, RCA, palmOne, iRiver, Dell, Gateway, and Samsung.

    RealPlayer 10.5 is the first consumer product to use Harmony Technology and RealNetworks have also integrated Harmony technology into the market leading Rhapsody music service.

    If you’re looking for an open approach to media delivery and need to integrate multiple codecs and reach multiple media players, then the Helix Universal Architecture is the only true choice available today, offering the highest amounts of flexibility in terms of codec choices, operating systems for deployment and with the added advantage of open source initiatives you are assured you have the flexibility to build and design your own solutions which conform to a widely accepted and inter-operable standard.

    Some questions to ask yourself.

    1. Is there a Windows Media player or Quick Time player for Linux? or Palm? or Mobile phones? or Pocket PC?

    2. Are you able to deploy your streaming platform on Linux or Unix?

    3. What about DRM, how many codecs does it support? What operating systems?

    4. What about delivery to mobile phones, can you do that from a Windows Media server?

    5. How does your media player handle multiple DRMs? Apple Fairplay or Windows DRM?

    6. What about open source, can organisations design consumer electronics and devices to work with your platform?

    7. And, finally do RealNetworks produce an advert free RealPlayer? Yes, we do! It’s called RealPlayer Enterprise! Simple, easy with no “fancy” media features!

    I would be happy to discuss any of these points with anyone drop me a line at:

    djsmith[at]real[dot]com

    Happy Xmas,

    David J Smith
    RealNetworks

  17. David,

    Thank you for a very informative comment. We actually did our first experiments with streaming using Real. Then, because of server pricing and becuse of a player that was gaining huge amounts of complaints due to an intrusive installer we abandoned it.

    Now it seems like it’s time to reconsider. Right now I am taking a very long christmas holliday, but will for sure bring this into consideration when I return for work in January!

  18. Christian: first of all, show some respect when you talk about me; the same respect I’m showing now. “Pure bullsh*it” is no way to refer to my words.

    About your correction, I was referring to this phrase: “Using it with Cortado would insure that the client would be able to play it no matter what software the user has installed”. Since Cortado depends on Java, THAT solution (the one that was being discussed here) depends on Java.

    David: please cut the advertising. No matter what you say, RealAudio and RealVideo are NOT open formats. They are propietary and patent-encumbered codecs.

    If I’m wrong, please tell me why there is no (true) open source implementation of those codecs, and why there is no player that can play RealMedia, other than RealPlayer. And tell me why your open source Helix Player does NOT support RealMedia by default, while your non-open source RealPlayer does.

  19. Hi Santiago,

    Strong words! There is no advertising here, just pure respect for a truly open solution and personally I am a firm supporter of standards and how they evolve from properitary and defacto developments, you need to respect what is being offered. After all, all developments started somewhere as being properitary before they evolved into open wide spread use. Even consider the likes of Winzip, Adobe PDF, Flash…. may not be standards but are certainly used in lots of places as defacto.

    Setting this aside, we need to set the perspective, you need to first seperate Codecs and Streaming architectures apart. RealMedia is the Codec and Helix is the streaming delivery platform.

    Firstly, Helix is an architecture which allows the streaming of multiple media formats including “defacto” codecs such as Real, Quick Time, Windows Media to be streamed from a single platform, regardless of the Server OS. In addition Helix supports open standards such as MPEG-4 and 3GPP from the SAME platform. The key advantage here is that you don’t need to deploy separate platforms for each codec you wish to support, i.e. one for Real, one for Windows, one for Quick Time, one for MPEG-4, one for 3GPP. This allows you to support multiple codecs from a single platform and choose the right codec to suit your delivery requirement, whilst at the same time evolving towards open standards as the codec becomes supported on the destination platform.

    Going further Helix is a full mesh architecture with server redundancy, unicast to multicast and multicast to unicast bandwidth splitting and archiving, plus a whole host of logging features which enable you to analyse usage patterns and billing. The open source Helix Community has further enhanced the position of the Helix platform by making the building blocks available via open source and licensing. This enables third party organisations to incorporate digitial media components within their solutions, from encoders, servers and media players and have the peace of mind that it will operate with the Helix platform.

    In terms of RealMedia as a Codec, you are correct, it is of course the development of RealNetworks and has been offered in the open source – Helix Community since February of 2005. This enables organisations to take the codec and implement support for this into their own media players WITHOUT the need for the Helix Player or the RealPlayer. This means any organisation developing a media player today have the capability to support RealMedia by using the RealMedia codec engine.

    With regards to your question about Helix Player and RealPlayer. Within the Helix Community we do produce two editions of the media player. This is entirely intentional. Helix Player offers an open source media player initiative with a streaming media decode engine pre-built into the code. You decide which codecs you wish to support within your Helix Player. This allows development organisations (typically consumer electronics organisations) to develop their own media player based upon Helix and incorporate the codecs they feel are relevant. Take a look at Reciva (www.reciva.com) and ROK TV (www.rok.tv) who have both implemented their own editions of Helix Player with codecs required for their implementations.

    RealPlayer is built upon the Helix Player and incorporates the RealMedia codecs plus a whole hosts of features to complete the solution. It is the official solution for playing RealMedia codecs and as such represents a finished solution for individuals and organisations wishing to deploy a media player which supports RealMedia plus other codecs (from MP3, QT to MPEG-4 for example)

    There are other versions of the RealPlayer – include the infamous Real Alternative (see http://www.free-codecs.com/download/Real_Alternative.htm) , plus a whole host of editing tools from organisations like Adobe, Pinnacle, AVSMEDIA which enable the encode/decode of Real formats.

  20. Hello again, David.

    > Even consider the likes of Winzip,
    > Adobe PDF, Flash…. may not be standards but are certainly used in lots
    > of places as defacto.

    But those are different cases. Both ZIP (not WinZip which is just a program) and PDF are well documented standards, from companies that released the info and allowed free/open implementations, without ever sueing them or asking for royalties. Macromedia hasn’t documented SWF much, but they never sued the projects trying to reverse-engineer their format (or asked them for royalties).

    Nobody knows what’s the case for RealMedia exactly, but I do know there are companies that paid in order to license the codecs. And I do know there are no open source implementations, so I guess royalties can be a problem.

    > Setting this aside, we need to set the perspective, you need to
    > first seperate Codecs and Streaming architectures apart. RealMedia is
    > the Codec and Helix is the streaming delivery platform.

    Yes, I do seperate them. That’s why I think the Helix Server is a suitable solution, but the RealMedia codecs are not.

    > In addition Helix supports open standards such as
    > MPEG-4 and 3GPP from the SAME platform.

    I know and that’s great, but MPEG-4 is not a truly open standard 🙂 (see my previous post for the explanation).

    > This means any organisation developing a media player
    > today have the capability to support RealMedia by using the RealMedia
    > codec engine.

    Without patent concerns, without paying royalties, with the possibility to make that implementation free / open source, and without having to license the codecs from RealMedia?

    > There are other versions of the RealPlayer – include the
    > infamous Real Alternative (see
    > http://www.free-codecs.com/download/Real_Alternative.htm)

    But RealAlternative is just a bunch of Real DLLs hax0red together! 🙂

    I don’t think that (or mplayer’s w32codecs) counts as “another version”…

    Greetings,

    Santiago Roza
    santiagoroza[at]gmail[dot]com

Leave a comment