Working on thumbnail support for video files.
This commit is contained in:
parent
6c9a4a3b86
commit
273d386d22
@ -17,26 +17,59 @@
|
||||
*/
|
||||
|
||||
class VideoFileHandler extends DataHandlerExtension {
|
||||
protected function create_thumb($hash) {
|
||||
public function onInitExt(InitExtEvent $event) {
|
||||
global $config;
|
||||
$config->set_default_string('video_thumb_engine', 'static');
|
||||
$config->set_default_string('thumb_ffmpeg_path', '');
|
||||
}
|
||||
|
||||
public function onSetupBuilding(SetupBuildingEvent $event) {
|
||||
global $config;
|
||||
|
||||
$thumbers = array();
|
||||
$thumbers['None'] = "static";
|
||||
$thumbers['ffmpeg'] = "ffmpeg";
|
||||
|
||||
$sb = new SetupBlock("Video Thumbnail Options");
|
||||
|
||||
$sb->add_choice_option("video_thumb_engine", $thumbers, "Engine: ");
|
||||
|
||||
if($config->get_string("video_thumb_engine") == "ffmpeg") {
|
||||
$sb->add_label("<br>Path to ffmpeg: ");
|
||||
$sb->add_text_option("thumb_ffmpeg_path");
|
||||
}
|
||||
$event->panel->add_block($sb);
|
||||
}
|
||||
|
||||
protected function create_thumb($hash) {
|
||||
global $config;
|
||||
|
||||
$w = $config->get_int("thumb_width");
|
||||
$h = $config->get_int("thumb_height");
|
||||
$q = $config->get_int("thumb_quality");
|
||||
// this is never used...
|
||||
//$q = $config->get_int("thumb_quality");
|
||||
|
||||
$inname = warehouse_path("images", $hash);
|
||||
$outname = warehouse_path("thumbs", $hash);
|
||||
|
||||
switch($config->get_string("video_thumb_engine")) {
|
||||
switch($config->get_string("video_thumb_engine"))
|
||||
{
|
||||
default:
|
||||
case 'static':
|
||||
copy("ext/handle_video/thumb.jpg", $outname);
|
||||
break;
|
||||
case 'ffmpeg':
|
||||
$ffmpeg = $config->get_string("thumb_ffmpeg_path");
|
||||
$cmd = "$ffmpeg -i $inname -s {$w}x{$h} -ss 00:00:00.0 -f image2 -vframes 1 $outname"
|
||||
|
||||
$inname = escapeshellarg($inname);
|
||||
$outname = escapeshellarg($outname);
|
||||
|
||||
$cmd = "{$ffmpeg} -i {$inname} -s {$w}x{$h} -ss 00:00:00.0 -f image2 -vframes 1 {$outname}";
|
||||
|
||||
exec($cmd, $output, $ret);
|
||||
|
||||
log_debug('handle_video', "Generating thumbnail with command `$cmd`, returns $ret");
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -47,7 +80,7 @@ class VideoFileHandler extends DataHandlerExtension {
|
||||
}
|
||||
|
||||
protected function create_image_from_data($filename, $metadata) {
|
||||
global $config;
|
||||
//global $config;
|
||||
|
||||
$image = new Image();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user