Before you start
This series was written with the developer in mind. You should be comfortable working with PHP and Web applications. You don't need to be an expert to go through this series, but not a lot of time will be spent explaining PHP syntax and Web application concepts. If you're unfamiliar with either, but keen to learn, feel free to dive right in. It wouldn't hurt to have some basic understanding of digital video, but we'll explain most of what you need to know.
Part 1 covers putting together of the pieces, installing the components, dealing with video conversion, and preparing for the application. We lay out lot of groundwork in Part 1. There's a lot to learn about digital video, and we'll need to get set up for doing all the coding in Part 2.
In Part 2, you build a basic application to manage the uploaded files and the tagging. You'll be using a PHP framework (CakePHP) to help jump-start this process. The application won't be another video-sharing site. The focus is on managing your own files and getting them up there for people to see.
Here in Part 3, you add some advanced features and create a slick user interface (UI). We'll smooth out the UI and look at using APIs from popular video-sharing sites to disseminate your videos. If the first part was about getting up to speed, and the second part was about making it all work, then Part 3 will be about making it awesome.
You did a lot of coding in Part 2, and you'll do even more here. We have some video tagging to do, then we're going to start using the recently opened-up YouTube APIs to push out your videos and pull back some statistics. It's going to be a lot of fun, but it's going to take a lot of work, too. If you haven't completed Part 1 and Part 2 yet, you will probably be completely lost. Go back and run through those now.
To work with digital video in this series, you'll need to set up a few things; the installation of basic components won't be covered here:
- Some digital video content — It can be video you've found, shot, or imported from another medium.
- A Microsoft® Windows® XP box — The examples provided use some software written for Windows XP. However, if you're adept at editing and converting video on computers running other operating systems, you certainly may do so.
- FFmpeg — An open source command-line video-conversion utility.
- Riva FLV Encoder V2.0 for Windows — A video-conversion utility for Windows that is no-cost for the first 30 days of use.
- Wikipedia for .flv conversion programs for other platforms.
- Red5 — A Java™-based open source Flash server.
- JW FLV Media Player V3.15 — A small embeddable Flash media player.
For the Web application, you'll also need the following:
- An HTTP server that supports sessions (and preferably
mod_rewrite). This series was written using Apache V1.3 withmod_rewriteenabled. - The 1.2 beta version of CakePHP.
- PHP V5.1.4 or greater — Not all the frameworks being examined require this release level of PHP, but for the sake of ease, all frameworks will use the same PHP installation. This series was written using PHP V5.2.3.
- A reasonably recent version of MySQL — Several other database options are available and supported, but both this series and the sample application were written using MySQL V5.0.37.
- The new YouTube APIs and Tools for integrating with your application.
- A developer key and client ID from YouTube through Google's YouTube APIs and Tools dashboard
If you don't know anything about writing code, PHP, databases, etc., you will find this series challenging. You should get up to speed on writing Web applications in PHP first. (See Resources for links to each project.)
To see the final application in action, visit http://tv.visitmakersfield.com.
