This project is to modify an existing FLV video player to allow it to dynamically assemble a set of audio, video files, and images, and play them as if they were one clip. The player will be used to create a dynamically generated video out of a library of separate video and audio clips, similar to the functionality of this site: http://www.yourperfectgirl.com.
The flash player I have been looking at for customization is here: [url removed, login to view]
Suggestions for other Flash video players aside from the one above that can be customized, will be considered.
All the existing functionality of the player should be preserved.
The customization involves adding a "sequence file" as a new media type. The "sequence file" will consist of an XML file that contains a list of video clips, audio clips, and images to be played. This XML file will ultimately be generated dynamically from a database on the web server, but the player should also work with a static XML file for testing purposes.
ï¿½ A list of videos and images will be specified. These will play in sequence with no breaks or interruptions between them. It should appear to the user as if it was one big video file. The video files can be interrupted by image files.
ï¿½ For each image file there will be a parameter specifying the number of milliseconds the image should display before the next item on the list plays. The images will be either GIF, JPEG or PNG. The image file will either match the size of the player, or be dynamically scaled up by Flash if smaller according to an option in the XML file.
ï¿½ There will be a separate "track" of audio. An unlimited number of audio files can be specified. The audio files will play in sequence with no interruptions between them, as if they were one big mp3.
ï¿½ There will be an XML parameter indicating when the audio track should start playing, specified in seconds. For instance, we may have 3 mp3 clips, but we may want to wait until the 35th second of the video clips before thie audio track starts playing.
ï¿½ The audio will be layered over any audio that is already part of the video files.
ï¿½ The play/pause and volume controls should continue to work normally while playing the sequenced video.
ï¿½ The timer should reflect the full time (sum) of all the videos and images, not just the current video being played. For example, if the XML file specifies a video of 1 minute, a video of 30 seconds, an image for 3 seconds and a video of 25 seconds, the timer should go from 0:00 to 1:58. The progress slider should work similarly, and treat the clips as if they were one long video.
As an example, the XML file could look like the attached file.
So, in the example attached, the Flash player would play the video [url removed, login to view], followed by [url removed, login to view] then show [url removed, login to view] for 3 seconds then play thirdvid.flv. At the same time, it will play a separate track of audio that starts at the 35th second of the video, and the audio will consist of [url removed, login to view] followed by [url removed, login to view] then third.mp3. All of this should be played smoothly and seamlessly with no pauses, breaks or buffering. It should play as if it were all in one big .flv file. You may need to preload or prebuffer the individual files at the beginning in order to accomplish this.
In addition to adding the capability for the Flash player to play a sequence of video and audio clips, a new skin will be created for the Flash player, and you will be provided with PSD files specifying the altered design. A "share" button will also be added, which will open an HTML page or popup allowing the user to share the video.