Thursday, June 2, 2011

Ten Reasons Why Streaming Video Sucks

Of course, by streaming video, I mean video provided by popular sites like YouTube.  Sites like Ustream also apply.

First: They depend on a browser plugin to play the video and control playback.  True, HTML5 video is being implemented, but it's far from commonplace and has problems of its own.  For some idiotic reason, there are codec licensing issues that make each browser manufacturer have to license a decoder.  Why not just use the much better decoder I already have installed on my system?  You could sidestep the licensing fees entirely by leaving that up to the viewer, and by being able to choose a decoder that performs well on their system, they'd have a much better viewing experience.  You'd still have a default decoder there just in case some Amish person just got a computer and thus feasibly doesn't know enough about anything relating to configuring it, but give the option for a system-installed decoder.

Second: That browser plugin's decoder for the video sucks.  You're stuck with it, too.  It usually chews through your system resources.  If a 2GHz AMD64 3200+ processor, 2 gigs of RAM, and an nVidia GeForce 6800GT graphics card aren't enough to get smooth playback of a 480p YouTube video, something's wrong.

Third: Some of us like to archive things for future viewing or continued enjoyment.  Not having that option means potentially losing access to a good video because of the whim of its uploader or a copyright holder that doesn't understand that free advertising is good and that Fair Use applies to copyrighted content.  Also, not having that option assumes that your site is going to exist forever.  Let's face it, streaming video is one of the latest tech bubbles, and bubbles can only get so big before they pop.

Fourth: For content in other languages, you're stuck with hard subtitles.  This means that the subtitles are encoded directly into the video stream as opposed to being a separate stream of their own that can be disabled.  Modern video container formats support this, the communities that use them call this feature "soft subs".

Fifth: For longer content, if you want to skip to a certain part of the video, you have to do the dance with the seekbar, if the player the site is using even supports that.  Modern video container formats support chapter stops in a manner akin to DVDs, where hitting Next and Previous in your player will go to the next or previous chapter.  They also support having an individual chapter common to all videos encoded to a separate file that is referenced by all the videos, so that the space required to store the video is reduced with no difference in playback.  This is called "ordered chapters".

Sixth: You don't get to choose the player.  You're stuck with what they provide.  Since you essentially have to download the video while watching it, it'd be nice to have an indication of how much has loaded, but not all plugin-based video players provide that.  If it's not downloading fast enough to be played while it's downloading, you get to have that awkward "pause and do something else for a while to let it load" period where you'd much rather be watching the video in question, but can't.

Seventh: The site you upload a video to has to "process" the video, which is actually transcoding it and applying a set of filters to it that you have no control over.  This can make your video appear darker than it did when you encoded it, or blockier, or any manner of not how you intended it to look.  They also do this transcoding to downscale the video to crappier resolutions.  Transcoding never makes anything look better, but they have to do it since any number of different formats could be used to submit a video in the first place.

Eighth: It's inefficient.  Sending a video over HTTP could be better used for downloading said video, not streaming it.  Even then, there are better protocols written specifically for downloading files.  There are also protocols designed specifically for streaming video that could be used instead.  They often sacrifice audiovisual quality to get the job done, but when did anyone ever expect a streaming video to be pixel-perfect to its original?  I just don't want it to be a blocky, blurry mess.

Ninth: I realize these sites exist for user convenience, but for many of us, we already have a video playing setup that we vastly prefer that has the capability of loading videos from the internet.  Why not allow us to do that easily?  Then we'd get a viewing experience favorable to us on your site, and our opinion of your video site would go up because of your better flexibility.

Tenth: Your sites often try to integrate many other features with the video playing feature.  Things like annotations, comments, "related" videos, suggestions, etc.  Those things all have their place and aren't inherently bad, but they often drag down the overall performance of the site when all a user really wants is to watch the video.  Why should I have to load all that other page content just to see a video?  Most of the time I'm not going to want to rate, favorite, or comment.  Subscribe links, that is, static links to make you subscribe to the user who uploaded the video and not anything dynamic that would require an entire scripting infrastructure to be loaded client-side just to enable the feature, are about all that really needs to be there in addition to the title, username, description, and the video itself.  All that excess stuff we don't care about takes valuable space in our computers' RAM that could be better used for other things.  I know RAM is getting cheaper and cheaper and that today's computers support having tons of it, but that's no excuse to be inefficient.

Anyone wondering why I don't watch streaming anime when it's available should just refer to this article.  Also, anime-specific, sometimes your only choice is the dub (i.e. Netflix).  For newer stuff that's fine but not perfect (i.e. user choice is king, many of us prefer the Japanese audio with subtitles), since dubs as a whole have gotten a lot better over the years, but for older stuff where the dubs universally suck, it leaves people looking for any other possible means of getting the content the way they want it.

Also, Netflix's player isn't taken into account because I don't have a Netflix account, and I refuse to install Silverlight.  Anything I say about Netflix is based on verbal accounts of user experience from Netflix members, and my own experience watching stuff over at their respective places on their respective accounts.

1 comment:

  1. Well argumented article. I would and have ranted about transcoding and inefficiency. What surprises me is that even people who value quality and would remove transcoded uploads are happy to go and use this cursed website as if under a spell.


I moderate comments because when Blogger originally implemented a spam filter it wouldn't work without comment moderation enabled. So if your comment doesn't show up right away, that would be why.