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!

Comments

sotero2 said…
thats what i've been tying to do. how about transcoding and running vlc on the background as a service at all times. thanks
abdul husain said…
well, i am unable to do it through command line is there anyway out for gui interface.
Shyam said…
Hi ...

did u figure it out how to update the vlm conf file on the run to update new movies ?
Anonymous said…
i did this but with this way

--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
Viet said…
I am wondering why something so complex ... couldn't you just have done :
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

Popular posts from this blog

how to kill an ix4-200d with ssd iometer tests v09.30.12.txt

wireless pxe bios v08.09.09.txt