aboutsummaryrefslogtreecommitdiff
path: root/libraries/phpvideotoolkit/adapters/videoto.php
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/phpvideotoolkit/adapters/videoto.php')
-rw-r--r--libraries/phpvideotoolkit/adapters/videoto.php473
1 files changed, 0 insertions, 473 deletions
diff --git a/libraries/phpvideotoolkit/adapters/videoto.php b/libraries/phpvideotoolkit/adapters/videoto.php
deleted file mode 100644
index 28dee45..0000000
--- a/libraries/phpvideotoolkit/adapters/videoto.php
+++ /dev/null
@@ -1,473 +0,0 @@
-<?php
-
- /* SVN FILE: $Id$ */
- /**
- * @author Oliver Lillie (aka buggedcom) <publicmail@buggedcom.co.uk>
- * @package PHPVideoToolkit
- * @license BSD
- * @copyright Copyright (c) 2008 Oliver Lillie <http://www.buggedcom.co.uk>
- * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
- * is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
- * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
- if(!defined('DS'))
- {
- define('DS', DIRECTORY_SEPARATOR);
- }
-
- class VideoTo
- {
-
- private static $_log_files = array();
- private static $_error_messages = array();
- private static $_commands = array();
- private static $_outputs = array();
-
- public static function FLV($file, $options=array(), $target_extension='flv')
- {
-// merge the options with the defaults
- $options = array_merge(array(
- 'temp_dir' => '/tmp',
- 'width' => 320,
- 'height' => 240,
- 'frequency' => 44100,
- 'audio_bitrate' => 64,
- 'video_bitrate' => 1200,
- 'ratio' => false, // PHPVideoToolkit::RATIO_STANDARD,
- 'frame_rate' => 29.7,
- 'output_dir' => null, // this doesn't have to be set it can be automatically retreived from 'output_file'
- 'output_file' => '#filename.#ext', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'use_multipass' => false,
- 'generate_log' => true,
- 'log_directory' => null,
- 'die_on_error' => false,
- 'overwrite_mode' => PHPVideoToolkit::OVERWRITE_FAIL
- ), $options);
-
-// start PHPVideoToolkit class
- require_once dirname(dirname(__FILE__)).DS.'phpvideotoolkit.php5.php';
- $toolkit = new PHPVideoToolkit($options['temp_dir']);
- $toolkit->on_error_die = $options['die_on_error'];
-// get the output directory
- if($options['output_dir'])
- {
- $output_dir = $options['output_dir'];
- }
- else
- {
- $output_dir = dirname($options['output_file']);
- $output_dir = $output_dir == '.' ? dirname($file) : $output_dir;
- }
-// get the filename parts
- $filename = basename($file);
- $filename_minus_ext = substr($filename, 0, strrpos($filename, '.'));
-// get the output filename
- $output_filename = str_replace(array('#filename', '#ext'), array($filename_minus_ext, $target_extension), basename($options['output_file']));
-
-// set the input file
- $ok = $toolkit->setInputFile($file);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
-
-// set the output dimensions
- if($options['ratio'] !== false)
- {
- $toolkit->setVideoAspectRatio($options['ratio']);
- }
- $toolkit->setVideoOutputDimensions($options['width'], $options['height']);
- $toolkit->setVideoBitRate($options['video_bitrate']);
- $toolkit->setVideoFrameRate($options['frame_rate']);
-
-// set the video to be converted to flv
- $toolkit->setFormatToFLV($options['frequency'], $options['audio_bitrate']);
-
-// set the output details and overwrite if nessecary
- $ok = $toolkit->setOutput($output_dir, $output_filename, $options['overwrite_mode']);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
-
-// execute the ffmpeg command using multiple passes and log the calls and PHPVideoToolkit results
- $result = $toolkit->execute($options['use_multipass'], $options['generate_log']);
- array_push(self::$_commands, $toolkit->getLastCommand());
-
-// check the return value in-case of error
- if($result !== PHPVideoToolkit::RESULT_OK)
- {
-// move the log file to the log directory as something has gone wrong
- if($options['generate_log'])
- {
- $log_dir = $options['log_directory'] ? $options['log_directory'] : $output_dir;
- $toolkit->moveLog($log_dir.$filename_minus_ext.'.log');
- array_push(self::$_log_files, $log_dir.$filename_minus_ext.'.log');
- }
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return $result;
- }
-
- array_push(self::$_outputs, $toolkit->getLastOutput());
-
-// reset
- $toolkit->reset();
-
- return $result;
- }
-
- public static function PSP($file, $options=array(), $target_extension='mp4')
- {
-// merge the options with the defaults
- $options = array_merge(array(
- 'temp_dir' => '/tmp',
- 'width' => 368,
- 'height' => 192,
- 'frequency' => 44100,
- 'audio_bitrate' => 128,
- 'video_bitrate' => 1200,
- 'ratio' => false, //PHPVideoToolkit::RATIO_STANDARD,
- 'frame_rate' => 29.7,
- 'output_dir' => null, // this doesn't have to be set it can be automatically retreived from 'output_file'
- 'output_file' => '#filename.#ext', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'output_title' => '#filename', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'use_multipass' => false,
- 'generate_log' => true,
- 'log_directory' => null,
- 'die_on_error' => false,
- 'overwrite_mode' => PHPVideoToolkit::OVERWRITE_FAIL
- ), $options);
-
-// start PHPVideoToolkit class
- require_once dirname(dirname(__FILE__)).DS.'phpvideotoolkit.php5.php';
- $toolkit = new PHPVideoToolkit($options['temp_dir']);
- $toolkit->on_error_die = $options['die_on_error'];
-// get the output directory
- if($options['output_dir'])
- {
- $output_dir = $options['output_dir'];
- }
- else
- {
- $output_dir = dirname($options['output_file']);
- $output_dir = $output_dir == '.' ? dirname($file) : $output_dir;
- }
-// get the filename parts
- $filename = basename($file);
- $filename_minus_ext = substr($filename, 0, strrpos($filename, '.'));
-// get the output filename
- $output_filename = str_replace(array('#filename', '#ext'), array($filename_minus_ext, $target_extension), basename($options['output_file']));
-
-// set the input file
- $ok = $toolkit->setInputFile($file);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
- $toolkit->setFormat(PHPVideoToolkit::FORMAT_PSP);
-
- $toolkit->setAudioSampleFrequency($options['frequency']);
- $toolkit->setAudioBitRate($options['audio_bitrate']);
-// $toolkit->addCommand('-acodec', 'libfaac');
-// $toolkit->addCommand('-acodec', 'mp3');
-
- $toolkit->setVideoFormat(PHPVideoToolkit::FORMAT_MPEG4);
- if($options['ratio'] !== false)
- {
- $toolkit->setVideoAspectRatio($options['ratio']);
- }
- $toolkit->setVideoOutputDimensions($options['width'], $options['height']);
- $toolkit->setVideoBitRate($options['video_bitrate']);
- $toolkit->setVideoFrameRate($options['frame_rate']);
- $toolkit->addCommand('-flags', 'loop');
- $toolkit->addCommand('-trellis', '2');
- $toolkit->addCommand('-partitions', 'parti4x4+parti8x8+partp4x4+partp8x8+partb8x8');
- $toolkit->addCommand('-coder', '1');
- $toolkit->addCommand('-mbd', '2');
- $toolkit->addCommand('-cmp', '2');
- $toolkit->addCommand('-subcmp', '2');
- $toolkit->addCommand('-title', str_replace(array('#filename', '#ext'), array($filename_minus_ext, $target_extension), basename($options['output_title'])));
-
-// set the output details and overwrite if nessecary
- $ok = $toolkit->setOutput($output_dir, $output_filename, $options['overwrite_mode']);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
-
-// execute the ffmpeg command using multiple passes and log the calls and PHPVideoToolkit results
- $result = $toolkit->execute($options['use_multipass'], $options['generate_log']);
- array_push(self::$_commands, $toolkit->getLastCommand());
-
-// check the return value in-case of error
- if($result !== PHPVideoToolkit::RESULT_OK)
- {
-// move the log file to the log directory as something has gone wrong
- if($options['generate_log'])
- {
- $log_dir = $options['log_directory'] ? $options['log_directory'] : $output_dir;
- $toolkit->moveLog($log_dir.$filename_minus_ext.'.log');
- array_push(self::$_log_files, $log_dir.$filename_minus_ext.'.log');
- }
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return $result;
- }
-
- array_push(self::$_outputs, $toolkit->getLastOutput());
-
-// reset
- $toolkit->reset();
-
- return $result;
- }
-
- public static function iPod($file, $options=array(), $target_extension='mp4')
- {
-// merge the options with the defaults
- $options = array_merge(array(
- 'temp_dir' => '/tmp',
- 'width' => 320,
- 'height' => 240,
- 'frequency' => 44100,
- 'audio_bitrate' => 128,
- 'video_bitrate' => 1200,
- 'ratio' => false, //PHPVideoToolkit::RATIO_STANDARD,
- 'frame_rate' => 29.7,
- 'output_dir' => null, // this doesn't have to be set it can be automatically retreived from 'output_file'
- 'output_file' => '#filename.#ext', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'output_title' => '#filename', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'use_multipass' => false,
- 'generate_log' => true,
- 'log_directory' => null,
- 'die_on_error' => false,
- 'overwrite_mode' => PHPVideoToolkit::OVERWRITE_FAIL
- ), $options);
-
-// start PHPVideoToolkit class
- require_once dirname(dirname(__FILE__)).DS.'phpvideotoolkit.php5.php';
- $toolkit = new PHPVideoToolkit($options['temp_dir']);
- $toolkit->on_error_die = $options['die_on_error'];
-// get the output directory
- if($options['output_dir'])
- {
- $output_dir = $options['output_dir'];
- }
- else
- {
- $output_dir = dirname($options['output_file']);
- $output_dir = $output_dir == '.' ? dirname($file) : $output_dir;
- }
-// get the filename parts
- $filename = basename($file);
- $filename_minus_ext = substr($filename, 0, strrpos($filename, '.'));
-// get the output filename
- $output_filename = str_replace(array('#filename', '#ext'), array($filename_minus_ext, $target_extension), basename($options['output_file']));
-
-// set the input file
- $ok = $toolkit->setInputFile($file);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
- $toolkit->setFormat(PHPVideoToolkit::FORMAT_MP4);
-
- $toolkit->setAudioSampleFrequency($options['frequency']);
- $toolkit->setAudioBitRate($options['audio_bitrate']);
-// $toolkit->addCommand('-acodec', 'libfaac');
-// $toolkit->addCommand('-acodec', 'mp3');
-
- $toolkit->setVideoFormat(PHPVideoToolkit::FORMAT_MPEG4);
- if($options['ratio'] !== false)
- {
- $toolkit->setVideoAspectRatio($options['ratio']);
- }
- $toolkit->setVideoOutputDimensions($options['width'], $options['height']);
- $toolkit->setVideoFrameRate($options['frame_rate']);
- $toolkit->addCommand('-mbd', '2');
- $toolkit->addCommand('-flags', '+4mv+trell');
- $toolkit->addCommand('-aic', '2');
- $toolkit->addCommand('-cmp', '2');
- $toolkit->addCommand('-subcmp', '2');
-
- $toolkit->addCommand('-title', str_replace(array('#filename', '#ext'), array($filename_minus_ext, $target_extension), basename($options['output_title'])));
-
-// set the output details and overwrite if nessecary
- $ok = $toolkit->setOutput($output_dir, $output_filename, $options['overwrite_mode']);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
-
-// execute the ffmpeg command using multiple passes and log the calls and PHPVideoToolkit results
- $result = $toolkit->execute($options['use_multipass'], $options['generate_log']);
- array_push(self::$_commands, $toolkit->getLastCommand());
-
-// check the return value in-case of error
- if($result !== PHPVideoToolkit::RESULT_OK)
- {
-// move the log file to the log directory as something has gone wrong
- if($options['generate_log'])
- {
- $log_dir = $options['log_directory'] ? $options['log_directory'] : $output_dir;
- $toolkit->moveLog($log_dir.$filename_minus_ext.'.log');
- array_push(self::$_log_files, $log_dir.$filename_minus_ext.'.log');
- }
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return $result;
- }
-
- array_push(self::$_outputs, $toolkit->getLastOutput());
-
-// reset
- $toolkit->reset();
-
- return $result;
- }
-
- public static function gif($file, $options=array(), $target_extension='gif')
- {
-// merge the options with the defaults
- $options = array_merge(array(
- 'temp_dir' => '/tmp',
- 'width' => 320,
- 'height' => 240,
- 'ratio' => false, //PHPVideoToolkit::RATIO_STANDARD,
- 'frame_rate' => 1,
- 'loop_output' => 0, // 0 will loop endlessly
- 'output_dir' => null, // this doesn't have to be set it can be automatically retreived from 'output_file'
- 'output_file' => '#filename.#ext', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'output_title' => '#filename', // you can use #filename to automagically hold the filename and #ext to automagically hold the target format extension
- 'use_multipass' => false,
- 'generate_log' => true,
- 'log_directory' => null,
- 'die_on_error' => false,
- 'overwrite_mode' => PHPVideoToolkit::OVERWRITE_FAIL
- ), $options);
-
-// start PHPVideoToolkit class
- require_once dirname(dirname(__FILE__)).DS.'phpvideotoolkit.php5.php';
- $toolkit = new PHPVideoToolkit($options['temp_dir']);
- $toolkit->on_error_die = $options['die_on_error'];
-// get the output directory
- if($options['output_dir'])
- {
- $output_dir = $options['output_dir'];
- }
- else
- {
- $output_dir = dirname($options['output_file']);
- $output_dir = $output_dir == '.' ? dirname($file) : $output_dir;
- }
-// get the filename parts
- $filename = basename($file);
- $filename_minus_ext = substr($filename, 0, strrpos($filename, '.'));
-// get the output filename
- $output_filename = str_replace(array('#filename', '#ext'), array($filename_minus_ext, $target_extension), basename($options['output_file']));
-
-// set the input file
- $ok = $toolkit->setInputFile($file);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
- $toolkit->setFormat(PHPVideoToolkit::FORMAT_GIF);
-
- $toolkit->disableAudio();
-
- if($options['ratio'] !== false)
- {
- $toolkit->setVideoAspectRatio($options['ratio']);
- }
- $toolkit->setVideoOutputDimensions($options['width'], $options['height']);
- $toolkit->setVideoFrameRate($options['frame_rate']);
- $toolkit->addCommand('-loop_output', $options['loop_output']);
-
-// set the output details and overwrite if nessecary
- $ok = $toolkit->setOutput($output_dir, $output_filename, $options['overwrite_mode']);
-// check the return value in-case of error
- if(!$ok)
- {
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return false;
- }
-
-// execute the ffmpeg command using multiple passes and log the calls and PHPVideoToolkit results
- $result = $toolkit->execute($options['use_multipass'], $options['generate_log']);
- array_push(self::$_commands, $toolkit->getLastCommand());
-
-// check the return value in-case of error
- if($result !== PHPVideoToolkit::RESULT_OK)
- {
-// move the log file to the log directory as something has gone wrong
- if($options['generate_log'])
- {
- $log_dir = $options['log_directory'] ? $options['log_directory'] : $output_dir;
- $toolkit->moveLog($log_dir.$filename_minus_ext.'.log');
- array_push(self::$_log_files, $log_dir.$filename_minus_ext.'.log');
- }
- $toolkit->reset();
- array_push(self::$_error_messages, $toolkit->getLastError());
- return $result;
- }
-
- array_push(self::$_outputs, $toolkit->getLastOutput());
-
-// reset
- $toolkit->reset();
-
- return $result;
- }
-
- public static function getOutput($all=false)
- {
- return $all ? self::$_outputs : self::$_outputs[count(self::$_outputs)-1];
- }
-
- public static function getCommand($all=false)
- {
- return $all ? self::$_commands : self::$_commands[count(self::$_commands)-1];
- }
-
- public static function getError($all=false)
- {
- return $all ? self::$_error_messages : self::$_error_messages[count(self::$_error_messages)-1];
- }
-
- public static function getLogFile($all=false)
- {
- return $all ? self::$_log_files : self::$_log_files[count(self::$_log_files)-1];
- }
-
- } \ No newline at end of file