diff options
Diffstat (limited to 'web/stream.gathering.org/index.pl')
| -rwxr-xr-x | web/stream.gathering.org/index.pl | 41 | 
1 files changed, 30 insertions, 11 deletions
diff --git a/web/stream.gathering.org/index.pl b/web/stream.gathering.org/index.pl index cc83454..9edcc20 100755 --- a/web/stream.gathering.org/index.pl +++ b/web/stream.gathering.org/index.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl -I /root/tgmanage/web/stream.gathering.org/streamlib +#!/usr/bin/perl -I /root/tgmanage/web/stream.gathering.org/streamlib/  use warnings;  use strict;  use CGI; @@ -11,15 +11,20 @@ use HTML::Template;  # apt-get install libhtml-template-perl  use stream;  use stream::config; -use MIME::Base64; +#use MIME::Base64; +use URI::Escape;  my $client = CGI->new; - +my $video_url_mp4;  my $v4net = $stream::config::v4net;  my $v6net = $stream::config::v6net;  my $tg = $stream::config::tg;  my $tg_full = $stream::config::tg_full;  my $video_url = $stream::config::video_url; +my $video_url_fallback = $stream::config::video_url_fallback; +if($stream::config::video_url_mp4) { +$video_url_mp4 = $stream::config::video_url_mp4; +}  my %streams = %stream::config::streams;  my $force_unicast = $client->param('forceunicast'); @@ -47,16 +52,30 @@ $template->param(STREAMS => \@streams);  $template->param(CAMSTREAMS => \@camstreams);  $template->param(NOHEADER => $no_header);  if(exists $input{url}) { -	my $decodedUrl = decode_base64($input{url}); -	# Check against XS-scripting: -	if (index($decodedUrl, 'cubemap.tg15.gathering.org/') != -1) { -		$template->param(VIDEO_URL => $decodedUrl); -	} else { -		$template->param(VIDEO_URL => $video_url); +	my $url = uri_unescape($input{url}); + +	if ($url ~~ %streams) { +		$template->param(VIDEO_URL_MAIN => $streams{$url}->{main_url}); +		$template->param(VIDEO_URL_FALLBACK => $streams{$url}->{fallback_url}); +                if($streams{$url}->{mp4_url}) { +                $template->param(VIDEO_URL_MP4 => $streams{$url}->{mp4_url}); +                }  	} +	# Check against XS-scripting: +	#if (index($decodedUrl, 'cubemap.tg16.gathering.org/') != -1) { +	#	$template->param(VIDEO_URL => $decodedUrl); +	#} elsif (index($decodedUrl, 'stream.tg16.gathering.org/') != -1) { +	#	$template->param(VIDEO_URL => $decodedUrl); +	#} else { +	#	$template->param(VIDEO_URL => $video_url); +	#}  	$template->param(VIDEO_AUTO_PLAY => 'true');  } else { -	$template->param(VIDEO_URL => $video_url); +	$template->param(VIDEO_URL_MAIN => $video_url); +	$template->param(VIDEO_URL_FALLBACK => $video_url_fallback); +        if($video_url_mp4) { +        $template->param(VIDEO_URL_MP4 => $video_url_mp4); +        }  	$template->param(VIDEO_AUTO_PLAY => 'false');  }  print $template->output(); @@ -71,7 +90,7 @@ sub loop_webcams() {  			$multicast = "unicast" if (defined $force_unicast && $force_unicast == 1 || not $is_local);  			my $vlc_link = sprintf($vlc_url, $multicast, $streams{$name}->{interlaced}); -			my $href_link = '<a class="stream-link-content" href="#" onclick="swapVideo(\'' . $streams{$name}->{url} . '\');">'; +			my $href_link = '<a class="stream-link-content" href="#" onclick="swapVideo(\'' . $name . '\');">';  			my %hash = (  				'href' => $href_link,  | 
