Categories
Computing Video

Blogs make great TV channels.

Miro makes Channels a central part of its user experience, using the same technology as a blog. Having chosen not to offer instant playback video (unlike, say, YouTube) I think that the metaphor of a channel to helps me to understand what I will see after waiting for a download to occur. The TV channel metaphor was easy to grasp, since I’m often asked to subscribe in some way to a channel on my TV. Using the technology behind a blog (syndication feeds like RSS), it makes me consider a flow of new videos in the future, again like a TV channel. By using bandwidth friendly downloading, it can allow a channel to make the promise that the download will be better quality than a live feed.

While it is running, Miro is capable of downloading in the background without impacting the playing video. Therefore it’s often my experience that once I’ve watched one video in a channel, the next has downloaded. By leaving Miro running on the computer attached to my TV, there are also always downlaods that have completed while I’m away. As such, whenever I want to watch channels in Miro, there is something to view. In practice, this means that when I encounter a new channel, I hit the subscribe button, anticipating I will be able to watch it next time I sit in front of the TV.

As an aside, downloading before viewing has another advantage – playback is far more reliable. Most of the internet live feeds I’ve used experience breakup and dropout, making them unpleasant to watch. Miro never suffers from this, which is great.

Whilst I’m generally sceptical about copying the user experience from traditional TV’s and HiFi’s, the channel as blog metaphor seems to work well for Miro.

Categories
Computing Video

Broadcasting without a broadcast network

Hosting video (or any large file) on a webserver has a problem – when a moderately large number of clients want to download it simultaneously the overhead of each individual connection can overwhelm the server. The number of people that can be serviced is quite likely to be lower than the audience for any popular file, and waiting an unpredictable time for the server to become free is a frustrating experience for the viewer.

There are several possible solutions to this:

  • Multicast IP
  • Hosting on multiple servers via Mirroring or a Content Delivery Network (CDN)
  • Collaborative (peer-to-peer) downloading

Multicast IP allows the server to share a connection among many clients, but for various reasons is not available on the public internet so needs to be discounted. Hosting on multiple servers is straightforward, but is costly and out of reach of individual authors.

Collaborative downloading allows the author to require each viewer to also act as a server for that file. In this way an ad-hoc multiple server system can be created, with costs split between the author and each viewer. Whether your viewers will be happy with this probably depends on what you charge them, and what they get in return. Most pay-per-month internet connections allow them to make a useful server contribution at no direct financial cost to them.

A popular collaborative download protocol is BitTorrent, which is included in Miro. An author distributing video to Miro (or similar) viewers can therefore choose whether to deploy multiple servers, or rely on viewers to collaborate as downloads occur. The ability to broadcast without investing in a network of servers should make it materially easier to distribute video from small providers on the internet, in a similar way that blogging has brought publishing words within an individuals reach.

Categories
Computing Video

Video formats are important for artists not viewers

Most of the widely used media players were historically produced to showcase the videos produced by the creator’s authoring tools. They usually recognise that other formats exist, and provide some means of plugging these in, but very few attempt to include all popular formats at once. This has the effect that sometimes, when pressing play, I’m presented with a dialog that announces the file is in an ‘unsupported’ format. While they often offer to download a suitable player, I want to watch a video, and I’m not disposed to buying and installing software. I may not even have the ability to do so. As such, most players don’t work well with all formats and I have to choose a player to match a format, although I’m not particularly interested in the format a video is in – I just want to watch it.

Artists, on the other hand, care a lot about the formats used, as they create the visual limits the artist must live within as they create video. All practical formats create visual artefacts when they are pushed beyond their intended limits, which artists must carefully avoid. As an example, some are good at cartoon content, while others are better at fast moving sport. Another important point is that encoding in a particular format is an expensive operation – video format owners typically charge a lot more for the encoder than the decoder.

Miro attempts to include as many codecs as possible, and has a catholic taste in video formats. Rather than focussing on any one codec, or graciously permitting me to add more, Miro uses a video playback subsystem – VLC – that attempts to play anything you throw at it. I’m not annoyed by strange dialogs that announce they first need to download a codec, and artists are free to select among a wide range of codecs for the one that best suits the video they create.

Including many codecs is not the only option – services such as YouTube instead provide one codec, and re-encode all incoming video into it. Whilst pragmatic, this is sure to lose quality. Any digitisation of a performance necessarily involves making decisions about what to keep, and what to throw away. Of course, the highest quality options produce staggeringly large files that are essentially impractical to use on today’s computers and networks. Whilst a lot of the decisions about what not to keep can be made by the encoder, not all of them can be automated, and high quality encoding is more of an art than a science. As I’ve noted the encoder creates the visual limits for a file, and all of the major ones have various options that can be tuned by a careful operator.

Any translation between modern video formats will involve a loss of quality, and visual artefacts appearing. Whilst I’m often grateful this means I can see any video at all, I’m not happy about throwing away all the effort of the original artist. There are interesting risks – who’d want to watch a football clip where the ball has disappeared due to the automated translation?

By allowing Miro Channels to contain any format of video, the artists can choose the codecs that best suit their purpose. They can also publish the content they’ve already created, without having to re-encode it, opening low cost access to their whole portfolio.