Re: Status RTSP
Bart Kerver <[email protected]>
| Newsgroups | gmane.comp.video.videolan.vls.devel |
|---|---|
| Message-ID | <[email protected]> |
VLS-team, >>RTSP is none exsisting I guess Loïc Minier was talking about RTCP/RTP >>which is different from RTSP. I see you will be working on a VoD solution somwhere in the project (http://www.mburns.fr.st/cdc_videolan/cdc.html). At the moment I have a management tool available, I call it DVLSM - Distributed VideoLAN-Server Management. It is a wey to manage several VLS servers, start and stop streams and query a database for content (eg). I need RTSP too to make streamcontrol possible. I asked the VLC guys for a way to be able to start VLC by a minetype (which doesn't work) as a first step to automate the to start a stream using the webinterface (fire VLC with the parameters generated by DVLSM). So far this feature is not supported. I have looked into using an external executable to fire-up VLC and send the addional paramaters (fe PERL). DVLSM is momentary not publicly available on the network, since VLS makes a DoS possible by starting a stream to an host and logging out (a stream will be started to the IP-adres requesting the stream). So I need a way to control the streams on a server level to complete the VoD solution. RTSP is therefore the way to go! If there is a first implementation of RTSP available I'd love to test it. Best regards, Bart -- Bart Kerver SURFnet bv - dep. Innovation Management phone : +31 (0)30 2 305 373 fax : +31 (0)30 2 305 329 web : http://www.surfnet.nl/en/
main.css
(text/css, 7.7 KB)
/* CSS for the VideoLAN website
* Stolen from the Gnumeric website by Sam :-)
*
* $Id: main.css,v 1.77 2003/02/03 16:00:00 sam Exp $ */
body {
font-family: sans-serif, Helvetica, Arial;
font-size: 1em;
background: white;
color: black;
margin: 0px 0px;
width: 99%;
}
code {
font-family: monospace, fixed, Courier;
}
img {
margin-left: 5px;
margin-right: 5px;
}
p {
font-size: 1em;
font-family: inherit;
text-indent: 0px;
background: inherit;
color: inherit;
}
td {
font-size: 1em;
font-family: inherit;
background: inherit;
color: inherit;
}
h1 {
font-size: 1.4em;
font-family: inherit;
font-weight: 600;
background: inherit;
color: #888;
padding: 0;
margin: 0px 0px 5px 0px;
border-style: solid;
border-bottom-color: #a43;
border-bottom-width: 2px;
border-top-color: #fff; /* white */
border-top-width: 0px;
border-left-color: #fff; /* white */
border-left-width: 0px;
border-right-color: #fff; /* white */
border-right-width: 0px;
}
table.h2 {
text-align: left;
width: auto;
margin: 0;
padding: 0;
border: 0;
}
tr.h2 {
text-align: left;
margin: 0;
padding: 0;
border: 0;
}
td.h2 {
text-align: left;
margin: 0;
padding: 0;
border: 0;
}
h2 {
font-size: 1.2em;
font-family: inherit;
font-weight: 600;
background: inherit;
color: #888;
padding: 0;
margin: 0;
text-decoration: none;
border-bottom-style: solid;
border-bottom-color: #a43;
border-bottom-width: 2px;
}
table.h3 {
text-align: left;
width: auto;
margin: 0;
padding: 0;
border: 0;
}
tr.h3 {
text-align: left;
margin: 0;
padding: 0;
border: 0;
}
td.h3 {
text-align: left;
margin: 0;
padding: 0;
border: 0;
}
h3 {
font-size: 1em;
font-family: inherit;
font-weight: 600;
background: inherit;
color: #888;
padding: 0;
margin: 0;
text-decoration: none;
border-bottom-style: solid;
border-bottom-color: #a43;
border-bottom-width: 1px;
}
a:link {
background: inherit;
font-family: inherit;
color: #23b;
text-decoration: underline;
}
a:visited {
background: inherit;
font-family: inherit;
color: #23b;
}
a:hover {
background: #ccc;
font-family: inherit;
color: #00a;
}
ol, ul, ul.small {
font-size: 1em;
font-family: inherit;
text-indent: 0px;
background: inherit;
color: inherit;
}
ul.big {
font-size: 1.2em;
font-family: inherit;
background: inherit;
color: inherit;
}
dl {
font-size: 1em;
font-family: inherit;
}
dt {
font-size: 1em;
font-family: inherit;
font-weight: 600;
background: inherit;
color: inherit;
padding: 0;
border-bottom-color: #000080;
border-bottom-width: 1px;
border-top-color: #fff;
border-top-width: 0px;
border-left-color: #fff;
border-left-width: 0px;
border-right-color: #fff;
border-right-width: 0px;
}
dd {
font-size: 1em;
font-family: inherit;
}
blockquote.center,p.center,td.center,h2.center { text-align: center; }
blockquote.right, p.right, td.right { text-align: right; }
/* Styles used for the features tables */
td.yes {
color: black;
background-image: none;
background-color: #cfc;
vertical-align: middle;
text-align: center;
}
td.no {
color: black;
background-image: none;
background-color: #fcc;
vertical-align: middle;
text-align: center;
}
td.partial {
color: black;
background-image: none;
background-color: #ffa;
vertical-align: middle;
text-align: center;
}
td.none {
color: black;
background-image: none;
background-color: #fff;
vertical-align: middle;
text-align: center;
}
td.type {
color: black;
background-image: none;
background-color: #eef;
vertical-align: middle;
}
td.category {
color: black;
background-image: none;
background-color: #ccf;
vertical-align: middle;
}
th.os {
color: black;
background-image: none;
/* background-color: #eaa; */
vertical-align: middle;
}
/* Styles used for the navigation bar */
td.firstbar {
vertical-align: middle;
text-align: center;
background-color: #a43;
color: #fff;
font-weight: bold;
font-size: 1.1em;
}
a.firstbar:link {
background-color: #a43;
color: #fff;
font-size: inherit;
}
a.firstbar:visited {
background-color: #a43;
color: #fff;
font-size: inherit;
}
a.firstbar:hover {
background-color: #a43;
color: #ffdd44;
font-size: inherit;
}
td.firstbarselected {
vertical-align: middle;
text-align: center;
background-color: #888;
color: #ffdd44;
font-weight: bold;
font-size: 1.1em;
}
td.secondbar {
vertical-align: middle;
text-align: center;
background-color: #888;
color: #fff;
font-weight: bold;
font-size: 1em;
}
a.secondbar:link {
background-color: #888;
color: #fff;
font-size: inherit;
}
a.secondbar:visited {
background-color: #888;
color: #fff;
font-size: inherit;
}
a.secondbar:hover {
background-color: #888;
color: #ffdd44;
font-size: inherit;
}
td.secondbarselected {
vertical-align: middle;
text-align: center;
background-color: #888;
color: #ffdd44;
font-weight: bold;
font-size: 1em;
}
/*
* Below is sam's stuff.
*/
/* Styles used for the upper navigation bar */
td.topleft {
vertical-align: middle;
text-align: center;
font-weight: bold;
font-size: 1em;
padding-top: 2px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
}
td.topright {
vertical-align: middle;
text-align: center;
font-weight: bold;
font-size: 1em;
padding-top: 2px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 0px;
border-left-width: 1px;
border-right-width: 0px;
}
td.topbar {
vertical-align: middle;
text-align: center;
font-weight: bold;
font-size: 1em;
padding-top: 2px;
padding-left: 5px;
padding-right: 5px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 1px;
border-left-width: 1px;
border-right-width: 0px;
}
td.topbarselected {
vertical-align: middle;
background-color: #fea;
color: #653;
text-align: center;
font-weight: bold;
font-size: 1.1em;
padding-top: 2px;
padding-left: 5px;
padding-right: 5px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 0px;
border-top-width: 1px;
border-left-width: 1px;
border-right-width: 0px;
}
/* Styles used for the lower navigation bar */
td.bottomleft {
background-color: #fea;
color: #fff;
margin: 2px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 0px;
border-left-width: 1px;
border-right-width: 0px;
}
td.bottomright {
background-color: #fea;
color: #fff;
margin: 2px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 1px;
}
td.bottombar {
vertical-align: middle;
background-color: #fea;
color: #fff;
text-align: center;
font-weight: bold;
font-size: 1.1em;
margin: 2px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
}
td.bottombarselected {
vertical-align: middle;
background-color: #fea;
color: #653;
text-align: center;
font-weight: bold;
font-size: 1.1em;
margin: 2px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
}
h2.h2poukram {
color: #653;
background-color: #fea;
margin: 0;
text-decoration: none;
padding-top: 2px;
padding-bottom: 2px;
padding-left: 5px;
padding-right: 5px;
border-style: solid;
border-color: #aaa;
border-bottom-width: 1px;
border-top-width: 1px;
border-left-width: 1px;
border-right-width: 1px;
}
dvlsm.html
(text/html, 3.6 KB)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="Author" content="[email protected]" />
<meta name="Keywords" content="Webbased configuration of a distributed set of VideoLAN Servers" />
<title>DVLSM - Distributed VideoLANServer Management</title>
<link rel="stylesheet" type="text/css" href="main.css" />
</head><br><br><h1>Welcome to Distributed VideoLAN Server Manager</h1><br>
<body>
<p>
<h3>What is DVLMS</h3>
DVLMS stands for <i>D</i>istributed <i>V</i>ideo<i>L</i>AN <i>S</i>erver <i>M</i>anagement. DVLMS is a webbased interface to control
several <a href="http://www.videolan.org/vls/">VideoLAN-servers</a> distributed through a network with the ease of a click of a mouse. DVLSM makes it very easy for end-users to
get access to videodata available on some VLS server without having to learn the VLS command interface. DVLSM is not just build to
manage VLS-servers, but to create a Video-on-Demand solution for <a href="http://www.videolan.org/vlc/">VideoLAN MediaPlayer (VLC)</a> and <a href="http://www.aminocom.com/">Amino SetTopBoxes</a> (and so on...). Just install the
source code, compile, start the VLS server and let the DVLSM add a servers content to the system by the click of a link.
</p>
<p>
<h3>Requirements to run DVLSM</h3>
DVLMS consists out of two parts: a interface module to operate within VLS server and a webbased portal. The interface module
is basically an interface for the webservice to talk to a regular VLS server. The webbased portal is a set of PHP scripts to
communicate with the database backend and the DVLSM interface module. All DVLSM requires to manage a system, is internet access to the machine and an account to control VLS.<br>
</p>
<p>
<h3>DVLSM features</h3>
DVLSM is currently supporting these features:<br>
<ul>
<li>open source using standards like PHP, Apache, mySQL and VLS CVS;</li>
<li>native VLS C++ code, available as an interface module;</li>
<li>fully database driven (mySQL);</li>
<li>unlimited amount of VLS servers with server specific credentials such as username, password and port</li>
<li>overview of active VLS servers;</li>
<li>overview of assets (with its provider) for a specific VLS server;</li>
<li>overview of all programs running on a specific VLS server;</li>
<li>auto learn content available on a server by spidering the programs</li>
<li>start a program on unicast, multicast both IPv4 and IPv6;</li>
<li>all native VLS command available through a simple query.</li>
</ul>
DVLSM is will support these features in a future release:<br>
<ul>
<li>(network-) load balancing of assets over multiple servers;</li>
<li>enhanced control over VLS core, such as killing dead channels;</li>
<li>ability to add programs;</li>
<li>ability to choose HTTP-progressive download as an alternative stream;</li>
<li>make it available as a webservice (XML-RPC);</li>
<li>user based profiles and content protection;</li>
<li>additional information on assets;</li>
<li>search for assets over all servers.</li>
</ul>
<p>
<h3>Configuration and installation of DVLSM</h3>
Soon to come...<br><br>
To get the DVLSM source running in VLS, make some adaptations to the Makefile.opts and /core/buffers.cpp and /core/buffers.h. <br>
To get the webbased portal running, install <a href="http://www.apache.org/">Apache</a> with <a href="http://www.php.net/">PHP</a> and <a href="http://www.mysql.com/">mySQL</a> support.
</p>
</body>
</html>