Файл: adultscript-2.0.3-pro/files/modules/video/scripts/convert_mobile.php
Строк: 78
<?php
define('_VALID', TRUE);
define('_CONSOLE', TRUE);
set_time_limit(0);
$base_dir = realpath(dirname(__FILE__).'/../../../');
require $base_dir.'/libraries/bootstrap.php';
$cfg = VF::cfg('core.config');
$vcfg = VF::cfg('module.video');
VF::$config['core.config']['debug'] = 0;
$flv_formats = array('flv', 'vp3', 'vp5', 'vp6', 'vp6a', 'vp6f');
if (isset($_SERVER['argv']['1'])) {
$filter = VF::factory('filter');
$video_id = (int) $_SERVER['argv']['1'];
$conv = new VVideo();
$conv->log_setup($video_id);
$db = VF::factory('database');
$db->query("SELECT ext FROM #__video WHERE video_id = ".$video_id." LIMIT 1");
if ($db->affected_rows()) {
$ext = $db->fetch_field('ext');
$src = MEDIA_DIR.'/videos/'.$ext.'/'.$video_id.'.'.$ext;
if (file_exists($src) && is_file($src)) {
if ($conv->load($src)) {
$conv->log('Loaded video from: '.$src."n".$conv->get_data_string());
$conv->log('Preparing video for mobile conversion!');
$mobile_processed = FALSE;
if (VModule::enabled('mobile') && $vcfg['mobile_convert'] == '1') {
$dst_mobile_nomov = MEDIA_DIR.'/videos/mobile/'.$video_id.'.nomov.mp4';
if ($conv->convert_to_mobile($src, $dst_mobile_nomov)) {
$mobile_processed = TRUE;
}
}
if ($mobile_processed === TRUE) {
$conv->log('Mobile Processed! Relocating moov atom ...');
$dst_mobile = MEDIA_DIR.'/videos/mobile/'.$video_id.'.mp4';
if (!$conv->fix_moov_atom($dst_mobile_nomov, $dst_mobile)) {
$conv->log('Failed to relocated moov atom ... copying original mobile file!');
rename($dst_mobile_nomov, $dst_mobile);
VFile::delete($dst_mobile_nomov);
}
}
if ($vcfg['multi_server'] == '1') {
$conv->log('Initializing multi-server ...');
VHelper::load('module.video.server');
$server = VHelper_video_server::get(FALSE, 1);
if ($server) {
if ($mobile_processed) {
if (VHelper_video_server::upload($server, $dst_mobile, '/mobile/'.$video_id.'.mp4')) {
$conv->log('Mobile uploaded to server!');
} else {
$conv->log('Failed to upload mobile to server!');
}
} else {
$conv->log('Mobile not processed!');
}
} else {
$conv->log('Failed to initialize server!');
}
}
if ($vcfg['s3'] == '1') {
$conv->log('Initializing Amazon S3 ...');
VHelper::load('module.video.s3');
if (VHelper_video_s3::upload($dst_mobile, '/mobile/'.$video_id.'.mp4')) {
$conv->log('Mobile uploaded to Amazon S3!');
} else {
$conv->log('Failed to upload mobile to Amazon S3!');
}
}
if ($mobile_processed === TRUE) {
// we need to re-initialize our database connection here to make sure
// we can update the video fields
VF::factory_remove('database');
$db = VF::factory('database');
$sql = "UPDATE #__video
SET mobile = '1'
WHERE video_id = ".$video_id."
LIMIT 1";
$conv->log("Executing update query: ".$sql);
$db->query($sql);
if ($db->affected_rows()) {
$conv->log_clean = TRUE;
$conv->log("Video database data updated! Conversion finished!");
} else {
$conv->log("Failed to update video database data! Aborting...");
}
}
} else {
$conv->log("Failed to load video from: ".$src."!");
}
} else {
$conv->log("Video file (".$src.") not found or not a file!");
}
} else {
$conv->load("Failed to get video extension from database!");
}
}
?>