default handle_video thumbgen to ffmpeg if ffmpeg in path & is_executable

This commit is contained in:
Daku 2016-05-14 23:39:45 +01:00
parent b0daab8766
commit 951323abcf

View File

@ -19,23 +19,38 @@
class VideoFileHandler extends DataHandlerExtension { class VideoFileHandler extends DataHandlerExtension {
public function onInitExt(InitExtEvent $event) { public function onInitExt(InitExtEvent $event) {
global $config; global $config;
$config->set_default_string('video_thumb_engine', 'static');
$config->set_default_string('thumb_ffmpeg_path', '');
// By default we generate thumbnails ignoring the aspect ratio of the video file. if($config->get_int("ext_handle_video_version") < 1) {
// if($ffmpeg = shell_exec((PHP_OS == 'WINNT' ? 'where' : 'which') . ' ffmpeg')) {
// Why? - This allows Shimmie to work with older versions of FFmpeg by default, //ffmpeg exists in PATH, check if it's executable, and if so, default to it instead of static
// rather than completely failing out of the box. If people complain that their if(is_executable(strtok($ffmpeg, PHP_EOL))) {
// thumbnails are distorted, then they can turn this feature on manually later. $config->set_default_string('video_thumb_engine', 'ffmpeg');
$config->set_default_bool('video_thumb_ignore_aspect_ratio', true); $config->set_default_string('thumb_ffmpeg_path', 'ffmpeg');
}
} else {
$config->set_default_string('video_thumb_engine', 'static');
$config->set_default_string('thumb_ffmpeg_path', '');
}
// By default we generate thumbnails ignoring the aspect ratio of the video file.
//
// Why? - This allows Shimmie to work with older versions of FFmpeg by default,
// rather than completely failing out of the box. If people complain that their
// thumbnails are distorted, then they can turn this feature on manually later.
$config->set_default_bool('video_thumb_ignore_aspect_ratio', TRUE);
$config->set_int("ext_handle_video_version", 1);
log_info("pools", "extension installed");
}
} }
public function onSetupBuilding(SetupBuildingEvent $event) { public function onSetupBuilding(SetupBuildingEvent $event) {
//global $config; //global $config;
$thumbers = array(); $thumbers = array(
$thumbers['None'] = "static"; 'None' => 'static',
$thumbers['ffmpeg'] = "ffmpeg"; 'ffmpeg' => 'ffmpeg'
);
$sb = new SetupBlock("Video Thumbnail Options"); $sb = new SetupBlock("Video Thumbnail Options");