Файл: adultscript-2.0.3-pro/files/modules/video/scripts/convert_flv.php
Строк: 59
<?php
define('_VALID', TRUE);
define('_CONSOLE', TRUE);
if (php_sapi_name() != 'cli') {
die('This script can be called from the console only!');
}
set_time_limit(0);
$base_dir = realpath(dirname(__FILE__).'/../../../');
require $base_dir.'/libraries/bootstrap.php';
VHelper::load('module.video.manage');
VHelper::load('module.video.server');
VHelper::load('module.video.s3');
VHelper::load('module.video.conv');
function convert_to_mp4($video_id, $server_id, $s3)
{
$src = MEDIA_DIR.'/videos/flv/'.$video_id.'.flv';
// multi server
if ($server_id != '0') {
$server = VHelper_video_server::get($server_id, false);
if ($server) {
if (VHelper_video_server::download($server, '/flv/'.$video_id.'.flv', $src)) {
$downloaded = true;
}
}
}
if ($s3 != '0') {
VHelper::load('module.video.s3');
if (VHelper_video_s3::download('/f;v/'.$video_id.'.flv', $src)) {
$downloaded = true;
}
}
if (VFile::exists($src)) {
$conv = new VVideo();
$conv->log_setup($video_id);
if ($conv->load($src)) {
$conv->log("Executed by: ".__FILE__." ".$video_id." : ".$src);
$conv->log("Loaded video from: ".$src."n".$conv->get_data_string());
$dst_mp4 = MEDIA_DIR.'/videos/mp4/'.$video_id.'.mp4';
if ($conv->convert_to_mp4($src, $dst_mp4)) {
$conv->log('Video converted to MP4!');
if ($server_id != '0') {
$conv->log('Initializing multi-server ...');
if (VHelper_video_server::upload($server, $dst_mp4, '/mp4/'.$video_id.'.mp4')) {
$conv->log('Video uploaded to server!');
} else {
$conv->log('Failed to upload video to server!');
}
}
if ($s3 != '0') {
$conv->log('Initializaing Amazon S3 storage ...');
if (VHelper_video_s3::upload($dst_mp4, '/mp4/'.$video_id.'.mp4')) {
$conv->log('Video uploaded to Amazon S3!');
} else {
$conv->log('Failed to upload video to Amazon S3!');
}
}
VF::factory_remove('database');
$db = VF::factory('database');
$db->query("
UPDATE #__video
SET ext = 'mp4'
WHERE video_id = ".$video_id."
LIMIT 1"
);
$db->query("
SELECT video_id
FROM #__video_cron
WHERE video_id = ".$video_id."
LIMIT 1
");
if ($db->affected_rows()) {
$db->query("
UPDATE #__video_cron
SET flv = 1
WHERE video_id = ".$video_id."
LIMIT 1
");
} else {
$db->query("
INSERT INTO #__video_cron
SET video_id = ".$video_id.",
flv = 1
");
}
} else {
$conv->log('Failed to convert video to MP4!');
}
} else {
$conv->log('Failed to load: '.$src);
}
}
}
$db = VF::factory('database');
$sql_count = "SELECT COUNT(*) AS total_videos
FROM #__video
WHERE status = 1
AND ext = 'flv'
AND embed_code = ''";
$total_videos = $db->get_field($sql_count, 'total_videos');
$sql = "SELECT v.video_id, v.server, v.s3, c.flv
FROM #__video AS v
LEFT JOIN #__video_cron AS c ON (c.video_id = v.video_id)
WHERE v.status = 1
AND v.ext = 'flv'
AND v.embed_code = ''
ORDER BY video_id ASC";
$start = 0;
$amount = 1000;
while ($start <= $total_videos) {
VF::factory_remove('database');
$db = VF::factory('database');
$videos = $db->get_rows($sql.' LIMIT '.$start.', '.$amount);
foreach ($videos as $video) {
// already converted
if ($video['flv'] == '1') {
continue;
}
convert_to_mp4($video['video_id'], $video['server'], $video['s3']);
}
$start = ($start+$amount);
}
?>