Just created this open source video player styled like hulu. It’s adapted and rewritten code from: http://chrisbrimelow.com/blog/?p=15 . Some of the changes I made were pretty basic including separating the ui from some of the nitty gritty stuff that drives the video. There’s also file streaming capabilities built into the player.
To take advantage of streaming video, I’m running nginx with flv-streaming-module compiled into my install. Seems to work pretty well and handles tons of connections simultaneously.
Source code on github for this video project is located here: http://github.com/elguapo1611/opthumb-videoplayer/tree/master
When uploading a video to a site, there’s definitely use for keyframe images as previews. I was thinking about using the nginx streaming-flv module to feed up individual frames of a video, but I concluded that exporting the required frames as pngs or jpegs is way more practical. Once again, I’m using ffmpeg to grab individual frames from an flv and xport as pngs. Heres the code:
ffmpeg -i awards.flv -vcodec png -vframes 1 -ss 120 -an -f rawvideo -s 320×240 testoutput.png