summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2013-05-05 03:39:13 +0200
committerChristian Pointner <equinox@spreadspace.org>2013-05-05 03:39:13 +0200
commite874f667df0fc5d1a610b0200824af2b993aa0be (patch)
tree12ac4f3486258ec4967ff1d529eb07971fa0a75a
parentswitched to lanczos for video scaling (diff)
added lac web interface modifications
-rwxr-xr-xcontrib/hls/start-hls.sh5
-rw-r--r--contrib/www/lac/browser.php45
-rw-r--r--contrib/www/lac/embed-test.html14
-rw-r--r--contrib/www/lac/embed.php21
-rw-r--r--contrib/www/lac/index.php13
-rw-r--r--contrib/www/lac/init.php67
-rw-r--r--contrib/www/lac/player.php131
-rw-r--r--contrib/www/lac/style.css50
8 files changed, 345 insertions, 1 deletions
diff --git a/contrib/hls/start-hls.sh b/contrib/hls/start-hls.sh
index 7fa4c19..59a18a6 100755
--- a/contrib/hls/start-hls.sh
+++ b/contrib/hls/start-hls.sh
@@ -14,7 +14,7 @@
#
if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then
- echo "Usage: $0 <name> <src> (high|medium|low)"
+ echo "Usage: $0 <name> <src> (high|medium|low|mini)"
exit 1
fi
@@ -37,6 +37,9 @@ case "$3" in
low)
arate=96k
;;
+ mini)
+ arate=96k
+ ;;
*)
arate=128k
;;
diff --git a/contrib/www/lac/browser.php b/contrib/www/lac/browser.php
new file mode 100644
index 0000000..5df08dc
--- /dev/null
+++ b/contrib/www/lac/browser.php
@@ -0,0 +1,45 @@
+<?php
+$browser = array(
+ 'platform' => 'unknown',
+ 'name' => 'unknown',
+ 'version' => '0.0.0',
+ 'majorver' => 0,
+ 'minorver' => 0,
+ 'build' => 0,
+ 'useragent' => ''
+);
+
+$browsers = array(
+ 'firefox', 'msie', 'opera', 'chrome', 'safari', 'mozilla', 'seamonkey', 'konqueror', 'netscape',
+ 'gecko', 'navigator', 'mosaic', 'lynx', 'amaya', 'omniweb', 'avant', 'camino', 'flock', 'aol'
+);
+
+if (isset($_SERVER['HTTP_USER_AGENT'])) {
+ $browser['useragent'] = $_SERVER['HTTP_USER_AGENT'];
+ $user_agent = strtolower($browser['useragent']);
+ foreach($browsers as $_browser) {
+ if (preg_match("/($_browser)[\/ ]?([0-9.]*)/", $user_agent, $match)) {
+ $browser['name'] = $match[1];
+ $browser['version'] = $match[2];
+ @list($browser['majorver'], $browser['minorver'], $browser['build']) = explode('.', $browser['version']);
+ break;
+ }
+ }
+ if (preg_match('/linux/i', $user_agent)) {
+ $browser['platform'] = 'linux';
+ }
+ elseif (preg_match('/macintosh|mac os x/i', $user_agent)) {
+ $browser['platform'] = 'mac';
+ }
+ elseif (preg_match('/windows|win32/i', $user_agent)) {
+ $browser['platform'] = 'windows';
+ }
+
+}
+
+if ( isset($_GET['debug']) ) {
+ echo "<pre>";
+ print_r($browser);
+ echo "</pre>";
+}
+?>
diff --git a/contrib/www/lac/embed-test.html b/contrib/www/lac/embed-test.html
new file mode 100644
index 0000000..12e68b3
--- /dev/null
+++ b/contrib/www/lac/embed-test.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Linux Audio Conference 2013 - Live Stream</title>
+ <link rel="stylesheet" type="text/css" href="style.css">
+</head>
+<body>
+ <h1>Linux Audio Conference 2013 - Live Stream (embedded)</h1>
+ <center>
+ <iframe src="embed.php" width="874px" height="600px" frameborder=0 padding=0 margin=0>
+ </iframe>
+ </center>
+</body>
+</html>
diff --git a/contrib/www/lac/embed.php b/contrib/www/lac/embed.php
new file mode 100644
index 0000000..5880fa1
--- /dev/null
+++ b/contrib/www/lac/embed.php
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Linux Audio Conference 2013 - Live Stream</title>
+ <link rel="stylesheet" type="text/css" href="style.css">
+ <style>
+ body {
+ margin: 0;
+ padding: 0;
+ };
+ </style>
+</head>
+<body>
+ <center>
+<?php
+$EMBED=2;
+require_once('player.php');
+?>
+ </center>
+</body>
+</html>
diff --git a/contrib/www/lac/index.php b/contrib/www/lac/index.php
new file mode 100644
index 0000000..a246782
--- /dev/null
+++ b/contrib/www/lac/index.php
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Linux Audio Conference 2013 - Live Stream</title>
+ <link rel="stylesheet" type="text/css" href="style.css">
+</head>
+<body>
+ <h1>Linux Audio Conference 2013 - Live Stream</h1>
+ <center>
+<?php require_once('player.php'); ?>
+ </center>
+</body>
+</html>
diff --git a/contrib/www/lac/init.php b/contrib/www/lac/init.php
new file mode 100644
index 0000000..849c444
--- /dev/null
+++ b/contrib/www/lac/init.php
@@ -0,0 +1,67 @@
+<?php
+
+require_once('browser.php');
+
+$DEFAULT_MODE = 'flash';
+if (($browser['name'] == 'firefox' && $browser['majorver'] >= 4) ||
+ ($browser['name'] == 'opera' && $browser['majorver'] == 10 && $browser['minorver'] >= 60) ||
+ ($browser['name'] == 'opera' && $browser['majorver'] >= 11) ||
+ ($browser['name'] == 'chrome' && $browser['majorver'] >= 6) ||
+ ($browser['name'] == 'safari' && $browser['platform'] == 'mac')) {
+ $DEFAULT_MODE = 'html5';
+}
+
+if ( isset($EMBED) && $EMBED >= 3 ) {
+ $DEFAULT_PROFILE = 'mini';
+} elseif ( isset($EMBED) && $EMBED >= 2 ) {
+ $DEFAULT_PROFILE = 'low';
+} else {
+ $DEFAULT_PROFILE = 'medium';
+}
+
+$PROFILE= isset($_GET['profile']) ? $_GET['profile'] : $DEFAULT_PROFILE;
+switch($PROFILE) {
+ case 'high': { $WIDTH = 1280; $HEIGHT = 720; break; }
+ case 'low': { $WIDTH = 640; $HEIGHT = 360; break; }
+ case 'mini': { $WIDTH = 426; $HEIGHT = 240; break; }
+ default: { $PROFILE = 'medium'; $WIDTH = 854; $HEIGHT = 480; break; }
+}
+
+$SRC = isset($_GET['src']) ? $_GET['src'] : 'av';
+
+$MODE = isset($_GET['mode']) ? $_GET['mode'] : $DEFAULT_MODE;
+switch($MODE) {
+ case 'flash': { break; }
+ default: { $MODE = 'html5'; break; }
+}
+
+$URL_BASE = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
+$URL_BASE_IDX = preg_replace("/embed(-.*)?\.php/", "index.php", $URL_BASE);
+
+$URL_FLASH = $URL_BASE . "?mode=flash&src=$SRC&profile=$PROFILE";
+$URL_HTML5 = $URL_BASE . "?mode=html5&src=$SRC&profile=$PROFILE";
+
+if ( isset($EMBED) ) {
+ $URL_HIGH = $URL_BASE_IDX . "?mode=$MODE&src=$SRC&profile=high";
+} else {
+ $URL_HIGH = $URL_BASE . "?mode=$MODE&src=$SRC&profile=high";
+}
+if ( isset($EMBED) && $EMBED >= 2 ) {
+ $URL_MEDIUM = $URL_BASE_IDX . "?mode=$MODE&src=$SRC&profile=medium";
+} else {
+ $URL_MEDIUM = $URL_BASE . "?mode=$MODE&src=$SRC&profile=medium";
+}
+if ( isset($EMBED) && $EMBED >= 3 ) {
+ $URL_LOW = $URL_BASE_IDX . "?mode=$MODE&src=$SRC&profile=low";
+} else {
+ $URL_LOW = $URL_BASE . "?mode=$MODE&src=$SRC&profile=low";
+}
+$URL_MINI = $URL_BASE . "?mode=$MODE&src=$SRC&profile=mini";
+
+
+$STREAM_URL_BASE = 'http://lac-live.spreadspace.org';
+$STREAM_URL_WEBM = "$STREAM_URL_BASE:8000/$SRC-webm-$PROFILE.webm";
+$STREAM_URL_HLS = "$STREAM_URL_BASE/lac-live/$SRC-hls-$PROFILE.m3u8";
+$STREAM_URL_FLASH = "$STREAM_URL_BASE:8000/$SRC-flash-$PROFILE.flv";
+
+?>
diff --git a/contrib/www/lac/player.php b/contrib/www/lac/player.php
new file mode 100644
index 0000000..ba8ee18
--- /dev/null
+++ b/contrib/www/lac/player.php
@@ -0,0 +1,131 @@
+<?php require_once('init.php'); ?>
+ <table id="header" width="<?php printf('%dpx', $WIDTH); ?>">
+ <tr>
+ <td align='left' width='40%'>
+<?php
+ switch($MODE) {
+ case 'html5': {
+ echo " <span class='selected'>HTML5</span>";
+ echo " <span><a href='$URL_FLASH'>FLASH</a></span>";
+ break;
+ }
+ case 'flash': {
+ echo " <span><a href='$URL_HTML5'>HTML5</a></span>";
+ echo " <span class='selected'>FLASH</span>";
+ break;
+ }
+ }
+?>
+ </td>
+ <td align='right' width='60%'>
+<?php
+ switch($PROFILE) {
+ case 'high': {
+ echo " <span class='selected'>high</span>";
+ if ( isset($EMBED) && $EMBED >= 2 ) {
+ echo " <span><a href='$URL_MEDIUM' target='_parent'>medium</a></span>";
+ } else {
+ echo " <span><a href='$URL_MEDIUM'>medium</a></span>";
+ }
+ if ( isset($EMBED) && $EMBED >= 3 ) {
+ echo " <span><a href='$URL_LOW' target='_parent'>low</a></span>";
+ } else {
+ echo " <span><a href='$URL_LOW'>low</a></span>";
+ }
+ echo " <span><a href='$URL_MINI'>mini</a></span>";
+ break;
+ }
+ case 'medium': {
+ if ( isset($EMBED) ) {
+ echo " <span><a href='$URL_HIGH' target='_parent'>high</a></span>";
+ } else {
+ echo " <span><a href='$URL_HIGH'>high</a></span>";
+ }
+ echo " <span class='selected'>medium</span>";
+ if ( isset($EMBED) && $EMBED >= 3 ) {
+ echo " <span><a href='$URL_LOW' target='_parent'>low</a></span>";
+ } else {
+ echo " <span><a href='$URL_LOW'>low</a></span>";
+ }
+ echo " <span><a href='$URL_MINI'>mini</a></span>";
+ break;
+ }
+ case 'low': {
+ if ( isset($EMBED) ) {
+ echo " <span><a href='$URL_HIGH' target='_parent'>high</a></span>";
+ } else {
+ echo " <span><a href='$URL_HIGH'>high</a></span>";
+ }
+ if ( isset($EMBED) && $EMBED >= 2 ) {
+ echo " <span><a href='$URL_MEDIUM' target='_parent'>medium</a></span>";
+ } else {
+ echo " <span><a href='$URL_MEDIUM'>medium</a></span>";
+ }
+ echo " <span class='selected'>low</span>";
+ echo " <span><a href='$URL_MINI'>mini</a></span>";
+ break;
+ }
+ case 'mini': {
+ if ( isset($EMBED) ) {
+ echo " <span><a href='$URL_HIGH' target='_parent'>high</a></span>";
+ } else {
+ echo " <span><a href='$URL_HIGH'>high</a></span>";
+ }
+ if ( isset($EMBED) && $EMBED >= 2 ) {
+ echo " <span><a href='$URL_MEDIUM' target='_parent'>medium</a></span>";
+ } else {
+ echo " <span><a href='$URL_MEDIUM'>medium</a></span>";
+ }
+ if ( isset($EMBED) && $EMBED >= 3 ) {
+ echo " <span><a href='$URL_LOW' target='_parent'>low</a></span>";
+ } else {
+ echo " <span><a href='$URL_LOW'>low</a></span>";
+ }
+ echo " <span class='selected'>mini</span>";
+ break;
+ }
+ }
+?>
+ </td>
+ </tr>
+ </table>
+<?php if ($MODE == "flash") { ?>
+ <script type="text/javascript" src="/flowplayer/flowplayer-3.2.6.min.js"></script>
+ <div id="player" style="<?php printf('display:block;width:%dpx;height:%dpx', $WIDTH, $HEIGHT); ?>"></div>
+ <script>flowplayer("player", "/flowplayer/flowplayer-3.2.7.swf", {
+ clip: {
+ url: "<?php echo $STREAM_URL_FLASH; ?>",
+ autoPlay: true,
+ autoBuffering: true,
+ bufferLength: 5,
+ live: true,
+ scaling: "fit"
+ },
+ plugins: {
+ controls: {
+ url: "/flowplayer/flowplayer.controls-3.2.5.swf",
+ time: false,
+ }
+ }
+ } );
+ </script>
+<?php } else { ?>
+ <video width=<?php echo $WIDTH; ?> height=<?php echo $HEIGHT; ?> autoplay controls>
+ <source src="<?php echo $STREAM_URL_WEBM; ?>" type="video/webm" />
+ <source src="<?php echo $STREAM_URL_HLS; ?>" type="application/x-mpegURL" />
+ </video>
+<?php } ?>
+ <table id="footer" width="<?php printf('%dpx', $WIDTH); ?>">
+ <tr>
+ <td align='right'>
+ <h2>Direct Link(s):</h2>
+ </td>
+ <td align='left'>
+<?php if ($MODE == "flash") {
+ echo " $STREAM_URL_FLASH";
+ } else {
+ echo " $STREAM_URL_WEBM<br />";
+ echo " $STREAM_URL_HLS";
+ } ?>
+ </td>
+ </table>
diff --git a/contrib/www/lac/style.css b/contrib/www/lac/style.css
new file mode 100644
index 0000000..bc8919a
--- /dev/null
+++ b/contrib/www/lac/style.css
@@ -0,0 +1,50 @@
+body {
+ background-color: #FFFFFF;
+ font-family: "Lucida Grande","bitstream vera sans","trebuchet ms",verdana,arial;
+ text-align: center;
+}
+
+h1 {
+ letter-spacing: -1px;
+ color: #2D5AC3;
+ font-weight: normal;
+ font-size: 1.7em;
+}
+
+h2 {
+ letter-spacing: -1px;
+ font-weight: bold;
+ font-size: 1.2em;
+ text-align: left;
+}
+
+table#header
+{
+ background-color: #333333;
+}
+
+td {
+ padding: 0.5em 0.7em;
+}
+
+td span {
+ color: #FFFFFF;
+}
+
+td span a {
+ color: #AAAAAA;
+ font-size: 0.8em;
+ text-decoration: none;
+}
+
+td span a:hover {
+ text-decoration: underline;
+}
+
+td span.selected {
+ font-weight: bold;
+}
+
+table#footer td {
+ padding: 0.3em 0.5em;
+}