X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=bin%2Fmplayer.pl;h=c5ab69a283b6fd057d57ce4279d5dbf1c8b7deb5;hb=d813d30da83cf0c1ca6418b7df6df15636e72bdc;hp=090d264026508b34fa4dafa35f34cf9521b81ca6;hpb=774436cef74e384a80822f39666ef1265fc83e1c;p=HTML5TV.git diff --git a/bin/mplayer.pl b/bin/mplayer.pl index 090d264..c5ab69a 100755 --- a/bin/mplayer.pl +++ b/bin/mplayer.pl @@ -14,6 +14,7 @@ use JSON; use Graphics::Magick; use Time::HiRes qw(time); use File::Path qw(rmtree); +use Getopt::Long; use lib 'lib'; use HTML5TV::Slides; @@ -22,6 +23,12 @@ use HTML5TV::hCalendar; my $debug = $ENV{DEBUG} || 0; my $generate = $ENV{GENERATE} || 0; +my $video_url; # override mplayer movie url + +GetOptions( + 'video-url=s' => \$video_url, +) || die $!; + my $movie = shift @ARGV; sub base_dir { $1 if $_[0] =~ m{^(.+)/[^/]+$} } @@ -35,9 +42,11 @@ if ( ! $movie && -e 'media/_editing' ) { } elsif ( -f $movie && $movie =~ m{\.og[vg]\b}i ) { my $movie_master = $movie; $movie = base_dir($movie) . '/video.ogv'; - unlink $movie; + unlink $movie if -e $movie; symlink base_name($movie_master), $movie; warn "symlink video.ogv -> $movie_master"; +} elsif ( $video_url ) { + warn "video_url: $video_url\n"; } else { die "Usage: $0 media/conference-Title_of_talk[/video.ogv'\n"; } @@ -89,7 +98,9 @@ sub load_subtitles; sub load_movie { warn "$movie ", -s $movie, " bytes $edl\n"; - print $to_mplayer qq|loadfile "$movie"\n|; + my $url = $video_url || $movie; + warn "loadfile $url\n"; + print $to_mplayer qq|loadfile "$url"\n|; load_subtitles; } @@ -252,8 +263,6 @@ sub html5tv { my $path = "$media_dir/presentation.pdf"; $path = $media_dir . '/' . readlink($path) if -l $path; -warn "XX $path"; - if ( -e $path ) { warn "render pdf slides from $path\n"; system "pdftoppm -png -r 100 $path $hires/p"; @@ -263,7 +272,7 @@ warn "XX $path"; if ( @frames ) { warn "create slides from video frames"; - rmdir $_ foreach glob "$media_dir/s/[124]"; +# rmdir $_ foreach glob "$media_dir/s/[124]"; oggThumb $movie, "$hires/.f%.jpg", map { $_->[0] } @frames; @@ -536,6 +545,8 @@ my @to_mplayer; sub save_subtitles { + YAML::DumpFile "$subtitles.yaml", sort { $a->[0] <=> $b->[0] } @subtitles if @subtitles; + html5tv || return; my $nr = 0; @@ -549,7 +560,6 @@ sub save_subtitles { warn $srt; write_file $subtitles, $srt; - YAML::DumpFile "$subtitles.yaml", sort { $a->[0] <=> $b->[0] } @subtitles; push @to_mplayer , "sub_remove\n" @@ -795,7 +805,6 @@ push @mplayer_prop, 'length' unless $prop->{length}; push @to_mplayer, "get_property $_\n" foreach grep { ! $prop->{$_} } @mplayer_prop; my $t = time; -my $line; push @to_mplayer, 'pause' if $generate;