Add more escaping to the shell command for ffmpeg.
This commit is contained in:
parent
26e8db1fdc
commit
b1d123c960
@ -35,37 +35,35 @@ class VideoFileHandler extends DataHandlerExtension {
|
|||||||
|
|
||||||
$sb->add_choice_option("video_thumb_engine", $thumbers, "Engine: ");
|
$sb->add_choice_option("video_thumb_engine", $thumbers, "Engine: ");
|
||||||
|
|
||||||
if($config->get_string("video_thumb_engine") == "ffmpeg") {
|
//if($config->get_string("video_thumb_engine") == "ffmpeg") {
|
||||||
$sb->add_label("<br>Path to ffmpeg: ");
|
$sb->add_label("<br>Path to ffmpeg: ");
|
||||||
$sb->add_text_option("thumb_ffmpeg_path");
|
$sb->add_text_option("thumb_ffmpeg_path");
|
||||||
}
|
//}
|
||||||
$event->panel->add_block($sb);
|
$event->panel->add_block($sb);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function create_thumb($hash) {
|
protected function create_thumb($hash) {
|
||||||
global $config;
|
global $config;
|
||||||
|
|
||||||
$w = (int)$config->get_int("thumb_width");
|
|
||||||
$h = (int)$config->get_int("thumb_height");
|
|
||||||
// this is never used...
|
// this is never used...
|
||||||
//$q = $config->get_int("thumb_quality");
|
//$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:
|
default:
|
||||||
case 'static':
|
case 'static':
|
||||||
|
$outname = warehouse_path("thumbs", $hash);
|
||||||
copy("ext/handle_video/thumb.jpg", $outname);
|
copy("ext/handle_video/thumb.jpg", $outname);
|
||||||
break;
|
break;
|
||||||
case 'ffmpeg':
|
case 'ffmpeg':
|
||||||
$ffmpeg = $config->get_string("thumb_ffmpeg_path");
|
$ffmpeg = escapeshellarg($config->get_string("thumb_ffmpeg_path"));
|
||||||
|
|
||||||
$inname = escapeshellarg($inname);
|
$w = (int)$config->get_int("thumb_width");
|
||||||
$outname = escapeshellarg($outname);
|
$h = (int)$config->get_int("thumb_height");
|
||||||
|
$inname = escapeshellarg(warehouse_path("images", $hash));
|
||||||
|
$outname = escapeshellarg(warehouse_path("thumbs", $hash));
|
||||||
|
|
||||||
$cmd = "{$ffmpeg} -i {$inname} -s {$w}x{$h} -ss 00:00:00.0 -f image2 -vframes 1 {$outname}";
|
$cmd = escapeshellcmd("{$ffmpeg} -i {$inname} -s {$w}x{$h} -ss 00:00:00.0 -f image2 -vframes 1 {$outname}");
|
||||||
exec($cmd, $output, $ret);
|
exec($cmd, $output, $ret);
|
||||||
|
|
||||||
log_debug('handle_video', "Generating thumbnail with command `$cmd`, returns $ret");
|
log_debug('handle_video', "Generating thumbnail with command `$cmd`, returns $ret");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user