By Zak Forsman, June 21st, 2010

WHY DO THIS IN THE FIRST PLACE?

About a year ago, there was a lot of talk about the merging of broadband internet and the televisions in our living rooms. That has since been subplanted by a shift in focus toward the creative process and making better films. However, when Google TV was announced not long ago for a Fall release, I found myself revisiting the importance of discovery and distribution for a 24 hour period in which I built my own video on demand portal. If Google TV is able to populate amongst our TVs and other home theater devices as quickly as Netflix Watch Instantly did, we could be having some interesting conversations a year from now. In anticipation, I began digging into what it would cost in time and money to launch such a portal online for the films of Sabi Pictures and the films we’ve curated via the CINEFIST Screening Series. We’re calling it CINEFIST TV.

First I looked into services offered by Youreeka, Maxcast and others – disappointed at the cost, how little of the purchase price would go into our own pocket and the fact that the customers had to start accounts with these other companies. So then I began to look into doing what they do, but on our own site. I wanted to mimic the Netflix Watch Instantly experience — streaming video, a simple interface, a way to pay for the content with the option to make it free, and I wanted it cheap.

Now, I’m sure there are a few of you that are ahead of the curve on this one. This might not be for you as these are the discoveries of someone who has never done this before, but maybe you could offer some insight that would improve it a bit. That being said, this article assumes you know how to compress videos for the web and that you’ve got a handle on building web sites, registering domain names and setting up a hosting service. What follows is just the first incarnation of our VOD portal. It will evolve.

THE FOUNDATION AND PORTAL INTERFACE

First I needed a platform that would work in any browser. I’ve long been using Wordpress for all our sites and have become a great admirer of the premium video-based themes designed by Jason Schuller at Press75.com. For purposes of this VOD portal, I chose the appropriately named “On Demand” theme. They have a number of themes that would work equally well.

After securing my new .tv domain name, I uploaded all the Wordpress 3.0 files to my server and the theme files were uploaded to its theme folder. I created a mysql database with my hosting service and entered the appropriate information into my Wordpress config file before uploading that. Then, by going to my url for my new site, I followed the installation procedure for Wordpress and within seconds the site, devoid of content, was up and running.

If you are familiar with php and css stylesheets, the Press75 themes are easy to customize, and this theme in particular has a number of customs settings one can set in your Wordpress admin control panel.

A STREAMING VIDEO SERVER IN THE CLOUDS

I needed a cost-conscious streaming server. Most charge so much that selling a 99¢ stream would be a losing proposition. I turned to Amazon Web Service’s CloudFront service and started an account. Their pricing is much more manageable at 15¢ per GB. Considering a feature-length stream is in the neighborhood of 1 to 2 GB, this was a no brainer.

So I first set up an AWS Simple Storage Service (S3) account where the media would live. Using my existing Amazon account and a credit card, I was receiving an email containing a link to my S3 account details within seconds. When you follow that link, the first thing you want to attend to are your two password keys — the Access Key and the Secret Key.

To manage this new account’s files and folder and various settings, I downloaded S3Fox Organizer plugin for Firefox as its really the best thing going for managing your files on an Amazon S3 account. With this I was able to upload all my media files (trailers, previews, shorts and features) and make them public and read-only. Here’s how:

Click on button that reads “Manage Accounts” in the upper left corner of the S3Fox interface. The window shown above will prompt you for an account name and your two access keys.

Now, you’ll need to create a “bucket” (aka a folder) in S3 where you’ll upload your videos. Click the blue folder button at the upper-right side of the screen and enter a name for it. I chose to use the domain name for the site it would serve videos to.

When you’re ready, this is where you’ll upload all your video files to. Each file will have to have its permissions set to be read-only for public viewing by right-clicking on the file, selecting “Edit ACL” from the menu, and changing “Read” + “Everyone” from a red X to a green checkmark. You can’t do this as a batch as far as I can figure so its a long process if you have a lot of videos.

Next you’ll have to set-up a “Distribution” in Cloudfront. Go to the AWS Management Console and add the EC2 and Cloudfront services to your account, if you haven’t already. Then go back to the main console and click the tab for Cloudfront. Click the button for “Create Distribution” and select the “bucket” you made earlier. Then set the delivery method to “Streaming”.

Now you’re looking at a list of your Cloudfront Distributions. Make note of the assigned domain name that looks something like a1b2c3d4e5f6g7.cloudfront.net. You will take that domain name and build the url to your streaming media as follows:

rtmp://cloudfront_domain_name/cfx/st/your_video_file.mp4

The /cfx/st/ path is required. While “your_video_file.mp4″ is the video you uploaded (or will upload) to your bucket.

VIDEO PLAYER AND ADAPTIVE DYNAMIC STREAMING

Dynamic Streaming is where the video player monitors the user’s broadband capabilities and selects one of several videos files to play that are identical in duration and content but differ in size and datarate. The player is capable of switching on-the-fly seamlessly.

As tedious as it may be, you’ll want to encode multiple versions of each video at different datarates. I chose to do three at 500kb/s, 900kb/s and 1800kb/s to support viewers with a variety of bandwidths. The player is given a list of corresponding videos in the form of an XML file and it plays what the user’s system can handle without stuttering and stopping. It’s not always flawless, but it’s pretty remarkable how well it works.

Here’s how I set mine up:

First download the free JW Player and upload the “mediaplayer” folder and all its content to your web site’s FTP. I placed mine in the directory labelled “wp-content” where other items like Wordpress themes and plugins are kept. Next, in your Wordpress admin control panel, go to the settings for the “Simple Video Embedder” (a plugin which comes with the Press75 themes) and enter the location of the JW Player files as: http://yourdomain.com/wp-content/mediaplayer/

Next open a text editor and create an XML file by saving an empty text document with a .xml extension. You can download an example xml file here. Be sure to fill in the names of your video files and your unique cloudfront domain name where indicated in the code. You’ll need to make on of these XML files for each video and once you’ve filled it out with your own info, upload it to your web site’s directory.

Next, use this code to embed the JW Player with instructions to call for the XML playlist. If you’re using the On Demand theme from Press75, create a new post and scroll all the way down to “Post Video Options”. This is where your embed code goes.

MAKE ‘EM PAY!!!

Finally, unless you’re happy giving all your films away for free, you’re wondering how do I make certain videos viewable only after a customer has paid to see it? This is the area I’m still experimenting with and I’d love to hear some ideas in the comments below. For now, I’m using a Wordpress plugin called S2 Member that allows you to lock specified posts and pages as “pay-only” content using Paypal to process the transactions. This plugin was desgined for bloggers who wanted to have premium content on their sites, and since each video we host is essentially its own blog post, this works well enough for now. The instructions it comes with make it easy to set-up so I’m not going to repeat them here, but quickly i will note that you have the option to be post/page specific or to offer a subscription that opens up all the content for one price.

Still, I’d like to have the pay system integrated into the player itself, so it can be embedded on other sites as well. The JW Player has an add-on that allows for Paypal donations to be made, but that’s not quite what we need. So these are the primary areas we’re working on before the official launch in the Fall to coincide with GoogleTV. In addition, we need to replace the video player with an HTML5 compatible one so the videos can be viewed on Apple devices too. The challenge being that no HTML5 players do true fullscreen which kind of kills the home viewing experience when you can see the browser. And its the home viewing experience we’re building this for.

So that, believe it or not, should do it. You can poke around on the site for the JW Player to learn how to use different skins and add-ons too. It was important for me to share how this is done, how easy it is, and how little it costs so you can avoid being taken advantage of. There’s little need to give away 50% or more of your potential online VOD revenue just to have it available in this manner. Anyone with $100 and a couple hours can do it.

  • Share/Bookmark

Posted in tools and services video on demand

Zak Forsman is an artist-entrepreneur whose emotionally-charged motion pictures are known for highly authentic performances and beautiful compositions. They have been praised by Ain’t It Cool News as “Brilliant” and “Absolutely Gorgeous” and by Filmmaker Magazine as “Very Accomplished, Amazing.”

RELATED
  • The Purpose of Film Festivals
    How small festivals can be the future of meatspace film distribution In the past several years I’ve had the opportunity to participate in and listen… read more
  • Indie Film Capitalism #9
    Times are tough, listener-ship is down and Clarence Lindeweiler needs to come up with a plan to save his struggling alternative rock radio station, WTYT… read more
  • Hidden Oras – RADAR S3 ep 26 [vid]
    Hidden Oras began as a live drawing project within various music clubs in Japan before moving to NYC. Shantell Martin an artist and VeeJay armed… read more
COMMENTS

  • cassflow
    I am looking for a developer who can create the program as described above.
  • Dellydelamo
    I had a few questions about using this them as I am new to the whole webpage creating. I would like to remove the posts from coming up (recent posts) under the scrolling area on the home page. How would I do that?

    Also, how do you get the posts to say "Directed by:xxxxx" rather than saying the post date?

    Thank You very much in advance
  • For payment, there is a JWPlayer plugin called Invideous that will allow you to keep 100% of your revenue if you make <$500 a month. They charge around $60 a month for it.
  • Hi Zak, I was looking into JWPlayer and they support HTML5 in their latest version.
  • Zareh
    Hi Zak

    Great article, I am a developer, I am going to make a VOD and I have a question is it possible to request temporary  streamer URL , I want streamer urls which will work 1-only for 1  IP 2- only for 24 hours (or for what duration I want) otherwise users can view the source copy the streamer url and post for their friends.

    Thanks
    Zar
  • released by online whistleblower WikiLeaks to select media outlets, ... The documents, dating from 2002 to 2008, detail accounts of prisoners at the
  • Blockknocker
    Hey Zak,

    Great Job!! You really helped me a lot. I'm also an indie filmmaker and needed a way get my movie out there. I also use compressor but can't get the files to play from cloudfront. I encode in h.264 and then change the extension to .mp4. I followed a tutorial for AVS and it works fine, but I want to use compressor. Thanks for any suggestions to what I'm doing wrong.
  • Ian Douglas
    Dear Zak,

    I'd like to ask a supplementary question: How do you ensure against people taking your streamed file from their cache and distributing it in file sharing communities? I'm guessing that the final streaming movie is in .flv format (is that correct?). Either that or any other format, it is easy via Firefox or Safari (on mac OSX) to see the file stream in and simply copy and paste it into a downloader. How do you ensure against people downloading your file locally and then being able to pass it to others without others paying you to see it?

    Thanks for any guidance you can give on that.

    all best wishes,
    ian
  • They are encoded in h.264 and there is currently no DRM in place. I haven't put any time or effort into combating piracy other than to keep the price low. For now, we focus on connecting with fans and giving them a reason to watch the movie on this platform
  • me too, I wish to get answer to that..
  • Ian Douglas
    Hi there,

    Thanks for the great resource. I wonder if there had been progress on the technical side; anything that you changed from when you put this together? I'm about to dive into the same issue: a friend I'm helping wants to sell DVDs online from his martial arts school, and VOD seems the only way to do it. Is there anything you learned recently? For lack of knowledge and experience, I guess I'll be following your path. I'd like to get it right first time.

    all best wishes,
    ian
  • Ian Douglas
    I also wonder how best you handled the workflow of transcoding the original video files into three datarates. Did you use Compressor, or another program?
  • I used Compressor.
  • Yourch
    Hi Zak
    Great , great job. I love this. But how would you manage the DRM ?
  • I don't.
  • Hi
    "As tedious as it may be, you’ll want to encode multiple versions of each video at different datarates. I chose to do three at 500kb/s, 900kb/s and 1800kb/s to support viewers with a variety of bandwidths"

    do you encode the file by our self on your mac or it is done automatically on Amazon??
  • I do it myself in compressor.
  • Victor Sultan0
    i want to wheathe i can some intresting poject on this
  • Amazon CloudFront is best choice for video streaming.

    http://www.cloudtweaks.com/201...

    /Malick.
    www.committedexpertise.com
  • Eharris
    We had a project similar to this, looked at the options and created a VOD site in-house.
    Take a look at http://www.manothefilm.com

  • ParthoSG
    in the process of building my VOD site. using S3 hub (Beta) for Mac http://s3hub.com/ instead of S3Fox organiser (crashed many times after all night upload trails). :)
  • ParthoSG
    Thanks Zak - CAN now make DIY VOD for portal for 0$ :)
  • Hello
    I have a question
    for 100 dollars : how much bandwidth you get?
    regards
  • Kyotonils
    Thanks for the Step-By-Step, Zac. I was looking enviously at cinefist.tv, having jumped over from DVXUSER, and then frantically Googled "How to build a VOD site". And here it is, the top result was written by the man himself. Thanks, I lovey-love-love that you did this.

    From the town that made sabi famous,

    kyotonils
  • Braccia
    Amazing post. Re: HTML5 and fear of losing the home viewing experience...

    1) Is there really a compelling reason to do this aside from losing eyeballs to iPhone OS people?
    2) If there isn't, can't you keep the FLV player for all laptop/desktop/TV viewers and create a second, simplified site for iPad and iPhone viewing to placate these customers?

    I watch a lot of HTML5 video on my iPad, but it still is dwarfed by the amount of Flash video I watch everywhere else.
  • ParthoSG
    Wow, thanks for this... I have been looking at releasing my film on the net and this is just perfect for me. :)
  • Briantraudt
    Quick Question - how did you delete the Featured Category rectangle directly below the main portion of the homepage? I want to do the exact same thing but can't find the code. briantraudt@gmail.com
  • zakforsman
    brian, look at the code in the home.php file and search for "". delete all the associated code that follows that from <div> to </div>.
  • Fabulous post! I've used Jason Schuler's themes in the past and learned about Sabi Pictures through posts on his forum. Will pass on a link to your post to my community in the industry right now. Thanks!
  • Mark
    Zak, thanks for this post. I still want to talk with you about some other options of integrating this kind of thing into an Android app to run on the Google TV, or even mobile apps that give you much more control over paywalls, etc.

    Great post!
  • Marclougee
    Zak,
    Super handy article. Thanks for assembling such a great wealth- wonderful. Here's hoping it turns tables for filmmakers! Cheers, M.
  • Koo
    Zak,

    Great article. Have you checked out Dynamo Player? I wrote about it here:

    http://nofilmschool.com/2010/05/the-first-probl...

    Since then it's matured a bit and I did get a note from the company saying that preview functionality is on the way. Seems like it's just what you're looking for.

    EDIT: I now see that Dynamo takes a 30% cut.
  • zakforsman
    thanks ryan!

    if I could buy the player outright and integrate it into my own portal, i'd definitely consider it. but 30% for a player that processes transactions? no way. I'd begin to consider it around 5%. no, 30% is just high enough to motivate me to go out and hire someone to build one from the ground up for us -- something we can all use without getting shafted.
  • Koo
    Right there with you. Bandwidth is too cheap.

    I've been conceptualizing something similar -- keep us posted on your progress.
  • Rob
    Hi Zak and Ryan -

    I agree that 30% may seem like a lot, but you have to also consider that a large piece of that goes to transaction processing, delivery and development. Allowing publishers to set prices as low as .99¢, we can't go any lower. Plus, it's the highest margin we know of for any third party system (All public indicators reveal that iTunes is similar to Dynamo and Amazon Unbox is far less generous, while YouTube legally requires that we not reveal just how much less they give to publishers.)

    More importantly for many, it's the only video player with integrated payments that is also embeddable, so your fans can embed your film on their blogs and elsewhere, spreading the word and letting you define the viewer experience.

    We're working out final kinks in the latest beta player (so please have mercy), but you can take a look at how these filmmakers are using it:
    http://blueroadmovie.com/watch...
    http://www.bmorehacks.info

    Cheers
    - Rob
  • genius howto Zak!
  • Mark Lipsky
    Zak -

    Well done! As you know, ecommerce is the critical missing link in your scenario but there's much more flexibility for that in an off-WP environment. I'm still working on launching an elegant platform that filmmakers can easily plug into including marketing and pr components. Now that I'm out of NYC and living in a much more progressive business/tech environment - Seattle - it's much more likely to happen sooner than later.

    Your piece will help a lot of folks!

    Mark.
  • I am so very appreciative of your willingness to seek out these answers and share them with others.
  • lanceweiler
    Zak this is an excellent how-to. Love the detail of the how-to. Can you share some of the plans for CINEFIST TV in terms of how it will relate to the screening series that you do in LA? Any thoughts on day and dating films?
  • zakforsman
    We're doing precisely that, I have inquiries out to the filmmakers who have already screened at one of our events and hope to use the audience curation (audience votes for the films that screen at each event) to elevate some compelling work. Day and dating would be our ideal so the live event also serves to support the kick-off of the film's availability online.
  • lanceweiler
    Very cool. Will you also archive the panels you do at the CINEFIST screenings and include some BTS vids for additional content? Any plans to expand the CINEFIST screenings to other cities?
  • zakforsman
    we've got four behind the scenes videos up at the main CINEFIST site here:

    THE NEW YEAR PARADE
    http://cinefist.com/2010/04/th...
    http://cinefist.com/2010/04/th...

    EPIC MOVIES ON MICRO BUDGETS
    http://cinefist.com/2010/05/ep...

    WHAT'S UP LOVELY
    http://cinefist.com/2010/06/wh...

    And we will be publishing the full 30 minute CROWDFUNDING discussion between Gary King and Gregory Bayne in a day or two. The hope is that as we learn more about what works and what doesn't (writing an article for Ted Hope's blog on this), we can then support "curators" in other cities by letting them use the CINEFIST banner with a guidebook and "best practices" for how to run it.
  • Hey Zak, this is awesome.

    Wanted to add that you might want to look at Flow Player http://flowplayer.org as well- JQuery based for expandability ( lots of easy to implement plugins for things like playlists, embeds, etc.) Commercial license is very cheap, way more customizable from a design perspective. I believe there's even plugins for metrics and ad insertion .
blog comments powered by Disqus
  • twitter
  • facebook
  • delicious
  • youtube
  • vimeo

Join the WorkBook Project mailing list - enter your email below...

NEW BREED twitter
READ

There are no events to show at this time.

Powered by Lifestream.

Podcast Archive