using vlc to create a web-based vod library v07.18.11.txt
There are many reasons why you would want to create Video-on-Demand library with a web interface.. training videos, past security recordings, news clips, etc..
My reason was different this weekend.. it is starting to become difficult to weed through all of the DVDs with children's show for my daughter. While she has no problems sorting through the DVDs and picking out a show to watch if we label it correctly, it still is time consuming and over time the discs become worn and damaged. I needed a way to create a video on demand library and have it easy to use for her. Since she can navigate around on the web just fine, I wanted to make it as simple as YouTube for point and click access to her shows.
Enter VideoLAN VLC Player/Server
Now we can do the following:
TV -> DVR -> DVD -> VLC -> RTSP -> PC = Happy Child
The quick and dirty approach for serving DVDs over wired/wireless for VOD via the web:
Download and install VLC 0.8.6c here.
Copy the entire VIDEO_TS folder from the DVD under a directory (ie: d:\videos\kidshow1)
Create a vlm.conf folder under c:\program files\videolan\vlc with the following contents:
vlm.conf
--------
# rtsp streams
new kidshow1 vod enabled mux mp2t input "dvdsimple://d:\videos\kidshow1@1:1"
# @1:1 specifies the first title and chapter
# @2:1 would automatically select the second title
Create a shows.html under c:\program files\videolan\vlc\http with the following contents:
shows.html (for firefox plugin only, replace [] with <>)
--------
[html]
[head][title]Kids Show #1[/title][/head]
[body]
[h1]Kids Show #1[/h1]
[embed type="application/x-vlc-plugin"
name="kidshow1"
autoplay="yes" loop="no" hidden="no" width="640" height="480"
target="rtsp:@localhost/kidshow1" /][br /]
[a href="javascript:;" onclick='document.kidshow1.play()']PLAY[/a]
[a href="javascript:;" onclick='document.kidshow1.stop()']STOP[/a]
[a href="javascript:;" onclick='document.kidshow1.fullscreen()']FULLSCREEN[/a]
[/body]
[/html]
Now run the vlc app on the "server" from: c:\program files\videolan\vlc with the following arguements:
vlc -I http --vlm-conf vlm.conf --rtsp-host 0.0.0.0:554
This will launch vlc without the gui and the web admin interface is on port 8080
You can get the the vlm portion of the configuration at:
http://localhost:8080/vlm.html and verify the VOD stream is loaded.
On the viewing computer just browse to:
http://vodserver:8080/shows.html
Of course, there is alot more design that needs to go into the web pages to make this kid friendly, but that is just the icing on the cake.
This worked over a 11mb/s wireless connection without any problems. You need around 4mb/s so don't count on a weak 1mb/s wireless connection for anything but garbage!
There are some limitations with this configration, mainly not being able to use IE as the browser.. but the firefox plugin sample was so easy to get started with.
More reference information at:
http://people.videolan.org/~dionoea/vlc-plugin-demo/serversetup.php
And for a nice cross browser player with a slider bar:
http://people.videolan.org/~damienf/plugin-0.8.6.html
Now to get this running as a service and find out a quick way for my wife to be able to import new DVDs and change the vlm.conf file on the fly!
My reason was different this weekend.. it is starting to become difficult to weed through all of the DVDs with children's show for my daughter. While she has no problems sorting through the DVDs and picking out a show to watch if we label it correctly, it still is time consuming and over time the discs become worn and damaged. I needed a way to create a video on demand library and have it easy to use for her. Since she can navigate around on the web just fine, I wanted to make it as simple as YouTube for point and click access to her shows.
Enter VideoLAN VLC Player/Server
Now we can do the following:
TV -> DVR -> DVD -> VLC -> RTSP -> PC = Happy Child
The quick and dirty approach for serving DVDs over wired/wireless for VOD via the web:
Download and install VLC 0.8.6c here.
Copy the entire VIDEO_TS folder from the DVD under a directory (ie: d:\videos\kidshow1)
Create a vlm.conf folder under c:\program files\videolan\vlc with the following contents:
vlm.conf
--------
# rtsp streams
new kidshow1 vod enabled mux mp2t input "dvdsimple://d:\videos\kidshow1@1:1"
# @1:1 specifies the first title and chapter
# @2:1 would automatically select the second title
Create a shows.html under c:\program files\videolan\vlc\http with the following contents:
shows.html (for firefox plugin only, replace [] with <>)
--------
[html]
[head][title]Kids Show #1[/title][/head]
[body]
[h1]Kids Show #1[/h1]
[embed type="application/x-vlc-plugin"
name="kidshow1"
autoplay="yes" loop="no" hidden="no" width="640" height="480"
target="rtsp:@localhost/kidshow1" /][br /]
[a href="javascript:;" onclick='document.kidshow1.play()']PLAY[/a]
[a href="javascript:;" onclick='document.kidshow1.stop()']STOP[/a]
[a href="javascript:;" onclick='document.kidshow1.fullscreen()']FULLSCREEN[/a]
[/body]
[/html]
Now run the vlc app on the "server" from: c:\program files\videolan\vlc with the following arguements:
vlc -I http --vlm-conf vlm.conf --rtsp-host 0.0.0.0:554
This will launch vlc without the gui and the web admin interface is on port 8080
You can get the the vlm portion of the configuration at:
http://localhost:8080/vlm.html and verify the VOD stream is loaded.
On the viewing computer just browse to:
http://vodserver:8080/shows.html
Of course, there is alot more design that needs to go into the web pages to make this kid friendly, but that is just the icing on the cake.
This worked over a 11mb/s wireless connection without any problems. You need around 4mb/s so don't count on a weak 1mb/s wireless connection for anything but garbage!
There are some limitations with this configration, mainly not being able to use IE as the browser.. but the firefox plugin sample was so easy to get started with.
More reference information at:
http://people.videolan.org/~dionoea/vlc-plugin-demo/serversetup.php
And for a nice cross browser player with a slider bar:
http://people.videolan.org/~damienf/plugin-0.8.6.html
Now to get this running as a service and find out a quick way for my wife to be able to import new DVDs and change the vlm.conf file on the fly!
Comments
did u figure it out how to update the vlm conf file on the run to update new movies ?
--vlm-conf conf.vlm/conf.vlm
cause with the vlm.conf nothing loaded....maybe it was my mistake but now work great!
*i put the conf.vlm folder under the vlc direction and i put the conf.vlm under this folder as you said but with the difference that i create it as a *.vlm file and not as a *.conf
DVD -> ISO -> read-only network share
and then, just by clicking on the ISO files, even remotely, he'd have her movies ... with no transcoding, or streaming.
If the dvd navigation is too complex, you could even extract the appropriate audio and video channels instead of dumping the whole DVD