Creating and Managing Playlist Files (Long)
I wasn't sure which fora would be appropriate for this discussion, but this one seemed as good as any.
I am starting this thread because I am interested in running all videos as a play list, allowing me to insert logos or commercials either before or after a video is played. Hard coding a standard playlist is no problem, but I would like to interact with vShare so that any video that is uploaded becomes a playlist automatically. I almost feel like I am trying to solve a rubix cube with missing stickers, so I wanted to start a discussion where others who are interested in the topic can chime in with their ideas.
Here is what I have done so far...
Preparation
To begin with there are two basic steps I did when preparing to work on playlists:
1. Downloaded the newest version of the flv player. I know that the newer version is capable of running playlists, and I wasn't sure about the version 3.8 player that comes with vshare, so I updated mine.
2. Created a short, 4 second logo type video to test in conjunction with the videos that get uploaded to the site. For purposes of keeping this discussion simple, I will just refer to it as logo.flv
First Attempt - /include/player.inc
Sometimes the simplest solutions work best, so I wanted to start out with the most simple, basic approach I could just to see what happened. In the player.inc file, the section where it refers to the file to play is:
Code:
so.addVariable("file","{$config["baseurl"]}/flvideo/$video_flvdoname");
I thought to myself, how nice would it be if all I had to do was list multiple files, such as list my logo video, then this code, and have every page automatically play both files in sequence. So, I tried modifying it to be:
Code:
so.addVariable("file","{$config["baseurl"]}/flvideo/logo.flv");
so.addVariable("file","{$config["baseurl"]}/flvideo/$video_flvdoname");
This had no change on my site that I could see. Whenever I went to a video and played it, it played like it always had, but no sign of my logo flv. So then I thought, maybe I have to number them, so I tried this:
Code:
so.addVariable("file1","{$config["baseurl"]}/flvideo/logo.flv");
so.addVariable("file2","{$config["baseurl"]}/flvideo/$video_flvdoname");
That didn't get the desired effect at all. Nothing would play. So I reverted back to the original player.inc and decided to take a different approach.
Second Attempt - XML Playlist
The next logical approach seemed to be to create an xml playlist and to try referencing that, since I can apparently only list one file. So I made an xml file like the following:
Code:
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<title>Standard Playlist</title>
<info>http://www.sportsgamingtv.com</info>
<annotation>Standard Playlist File</annotation>
<trackList>
<track>
<title>Sports Gaming TV</title>
<location>http://www.sportsgamingtv.com/flvideo/logo.flv</location>
<info>http://www.sportsgamingtv.com/</info>
<album>preroll</album>
</track>
<track>
<title>Member Video</title>
<creator>Sports Gaming TV</creator>
<location>{$config["baseurl"]}/flvideo/$video_flvdoname</location>
<image>{$config["baseurl"]}/thumb/$video_id.jpg</image>
</track>
</trackList>
</playlist>
After uploading the playlist, I then went back to player.inc and edited the file line once more, to be:
Code:
so.addVariable("file","{$config["baseurl"]}/xmlplaylist.xml");
This is as close as I have been able to get. When I did this, my logo flv will play, but then it ends without playing the second video. It also only does this one time. If I hit play a second time, it just tries forever to connect/load.
I tried editing the playlist to remove $config, and to even just replace the baseurl section entirely with http://www.mysite.com - nothing got a result that was any different.
What's Next?
I can't help but feel that I'm zeroing in on this. I think going the xml route is the appropriate way to do it, but I'm doing something wrong with how I'm calling for the uploaded file to be referenced.
Any ideas?