Ignore:
Timestamp:
2009-06-12T23:07:30+12:00 (15 years ago)
Author:
davidb
Message:

Continued development of plugins to work smoothly with Flash player

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/gsdl-video/trunk/perllib/plugins/VideoPlugin.pm

    r19785 r19828  
    145145
    146146
    147 sub enable_streaming
    148 {
    149     my $self = shift (@_);
    150     my ($doc_obj,$originalfilename,$filename,$convertto_regenerated,
    151     $video_width,$video_height) = @_;
    152 
    153     my $section = $doc_obj->get_top_section();
    154 
    155     my $output_dir   = $self->{'cached_dir'};
    156     my $ivideo_root  = $self->{'cached_file_root'};
    157    
    158     # Generate the Flash FLV format for streaming purposes
    159     my $streamable_regenerated = 0;
    160 
    161     my $optionally_run_general_cmd = "run_uncached_general_cmd";
    162     if ($self->{'enable_cache'}) {
    163     $optionally_run_general_cmd
    164         = ($convertto_regenerated) ? "regenerate_general_cmd" : "run_cached_general_cmd";
    165     }
    166 
    167     my $streaming_bitrate = $self->{'streamingbitrate'};
    168     my $streaming_size    = $self->{'streamingsize'};
    169    
    170     my $streaming_quality = "high";
    171    
    172     my ($stream_cmd,$oflash_filename,$oflash_file)
    173     = $self->stream_cmd($originalfilename || $filename,
    174                 $video_width,$video_height,
    175                 $streaming_quality,
    176                 $streaming_bitrate, $streaming_size);
    177    
    178    
    179     my $streamable_options = { @{$self->{'ffmpeg_monitor'}},
    180                    'message_prefix' => "Stream",
    181                    'message' => "Generating streamable video: $oflash_file" };
    182    
    183     my $streamable_result;
    184     my $streamable_had_error;
    185     ($streamable_regenerated,$streamable_result,$streamable_had_error)
    186     = $self->$optionally_run_general_cmd($stream_cmd,$oflash_filename,$streamable_options);
    187    
    188     if (!$streamable_had_error) {
    189     my ($streamseekable_cmd,$ostreamseekable_filename) = $self->streamseekable_cmd($oflash_filename);
    190    
    191     my $streamseekable_options = { @{$self->{'flvtool2_monitor'}},
    192                        'message_prefix' => "Stream Seekable",
    193                        'message' => "Reprocessing video stream to be seekable by timeline: $oflash_file" };
    194    
    195     if ($streamable_regenerated) {
    196         $self->run_general_cmd($streamseekable_cmd,$streamseekable_options);
    197     }
    198    
    199     my $streamable_url = $oflash_file;
    200     ## $streamable_url =~ s/ /%20/g;
    201     my $streamable_url_safe = $self->url_safe($streamable_url);
    202    
    203     $doc_obj->add_utf8_metadata ($section, "streamablevideo", $streamable_url_safe);
    204     $doc_obj->associate_file($oflash_filename,$oflash_file,"video/flash",
    205                  $section);
    206     }
    207 
    208 ##    my $video_width = $doc_obj->get_metadata_element($section,"VideoWidth");
    209 ##    my $video_height = $doc_obj->get_metadata_element($section,"VideoHeight");
    210    
    211     #
    212     # FlowPlayer.swf       height+22 pixels
    213     # FlowPlayerBlack.swf  height+16 pixels
    214     # FlowPlayerThermo.swf height+16 pixels
    215     # FlowPlayerWhite.swf  height+26 pixels
    216     my $flashwidth = $video_width;
    217     my $flashheight = $video_height + 22;
    218     if ($self->{'extractkeyframes'}) {
    219     $flashheight += 100;
    220     }
    221     $doc_obj->add_metadata ($section, "flashwidth",    $flashwidth);
    222     $doc_obj->add_metadata ($section, "flashheight",   $flashheight);
    223  
    224 #### *****   
    225     # No longer used
    226 #    my $video_server = $ENV{'GEXT_VIDEO_SERVER'};
    227 #    my $video_prefix = $ENV{'GEXT_VIDEO_PREFIX'};
    228 #    my $base_url = "$video_server$video_prefix/collect/[collection]/index/assoc/[assocfilepath]/";
    229 #    my $base_url_safe = $self->url_safe($base_url);
    230 #    $doc_obj->add_utf8_metadata ($section, "baseurl",$base_url_safe);
    231    
    232     $self->{'oflash_file'} = $oflash_file;
    233     $self->{'oflash_filename'} = $oflash_filename;
    234 
    235     return $streamable_regenerated;
    236 }
    237147
    238148sub extract_thumbnail
     
    608518    if ($self->{'enable_streaming'}) { 
    609519    $streamable_regenerated
    610         = $self->enable_streaming($doc_obj,$originalfilename,$filename,
    611                       $convertto_regenerated,
    612                       $video_width,$video_height);
     520        = $self->enable_full_streaming($doc_obj,
     521                       $originalfilename,$filename,
     522                       $convertto_regenerated,
     523                       $video_width,$video_height);
    613524    }
    614525
Note: See TracChangeset for help on using the changeset viewer.