You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.0 KiB
65 lines
2.0 KiB
<?php
|
|
/* For license terms, see /license.txt */
|
|
/**
|
|
* Script to convert videos to several formats
|
|
* Put a comment before the exit(); line to enable.
|
|
* Load in your browser with http(s)://[yourcampus]/tests/video/index.php
|
|
* @todo Add security filtering for filenames
|
|
* @author Yannick Warnier <yannick.warnier@beeznest.com>
|
|
*/
|
|
die('Remove the "die()" statement on line '.__LINE__.' to execute this script'.PHP_EOL);
|
|
ini_set('memory_limit',0);
|
|
ini_set('max_execution_time',0);
|
|
ini_set('upload_max_filesize',0);
|
|
ini_set('post_max_size',0);
|
|
?>
|
|
<html>
|
|
<body>
|
|
<p>
|
|
<form method="post" action="" enctype="multipart/form-data">
|
|
<table>
|
|
<tr><td>Video to convert:</td><td><input type="file" name="video"/></td></tr>
|
|
<tr><td>Desired Codec:</td>
|
|
<td>
|
|
<select name="codec">
|
|
<option value="webm" selected>WebM</option>
|
|
<option value="ogv">OGV</option>
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr><td colspan="2"><input type="submit" name="Convert" value="Convert"></tr>
|
|
</table>
|
|
</form>
|
|
</p>
|
|
<p>
|
|
<?php
|
|
if (!empty($_FILES['video'])) {
|
|
error_log($_FILES['video']['name']);
|
|
$orig = __DIR__.'/upload/'.md5(uniqid(rand(),true)).'-'.$_FILES['video']['name'];
|
|
$dest = __DIR__.'/upload/'.md5(uniqid(rand(),true)).'-'.substr($_FILES['video']['name'],0,-3).(($_POST['codec']!='ogv')?'webm':'ogv');
|
|
error_log($dest);
|
|
$res = @move_uploaded_file($_FILES['video']['tmp_name'],$orig);
|
|
if ($res === false) { error_log("Error moving video file: ".$php_error_msg); }
|
|
error_log('Calling '.'ffmpeg -i '.$orig.' -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -v quiet -s 1080x720 '.$dest);
|
|
$ffmpeg = @exec('ffmpeg -i '.$orig.' -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 345k -v quiet -s 1080x720 '.$dest);
|
|
if ($ffmpeg === false) { error_log('no'); }
|
|
}
|
|
?>
|
|
</p>
|
|
<p>
|
|
<?php
|
|
echo "Files on server:<br />";
|
|
$list = scandir(__DIR__.'/upload');
|
|
if (is_array($list)) {
|
|
foreach ($list as $file) {
|
|
if (substr($file,0,1) == '.') {
|
|
continue;
|
|
} else {
|
|
echo '<a href="upload/'.$file.'">'.$file.'</a><br />'."\n";
|
|
}
|
|
}
|
|
}
|
|
?>
|
|
</p>
|
|
</body>
|
|
</html>
|
|
|