Пытаюсь написать простейший пример конвертации видео при загрузке. Оно работает, но проблема в том, что работает если ролик не превышает 2 мегабайт. Не могу разобраться в чем проблема.
Код:
<?php
echo '
<!doctype html>
<html>
<head>
<meta charset=utf-8>
<title>Конвертирование видео на лету</title>
<style>
.flowplayer, #video {
margin: 0;
width: 460px;
height: 300px;
}
#video {
background: #000000;
}
</style>
<link rel="stylesheet" type="text/css" href="skin/functional.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="flowplayer.min.js"></script>
</head>
<body>
<h2><b>Форма для загрузки видео (макс. 30 мегабайт):</b></h2>
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"> <input type="submit" value="Загрузить и конвертировать в FLV">
</form>';
?>
<?php
if(isset($_FILES["filename"])) {
if($_FILES["filename"]["size"] > 1024*30*1024) {
echo ("Размер видео превышает 30 мегабайт");
exit;
}
// Проверяем загружен ли видеофайл
if(is_uploaded_file($_FILES["filename"]["tmp_name"])) {
// Если файл загружен успешно, перекодируем его
//move_uploaded_file($_FILES["filename"]["tmp_name"], "loadedvideo/".$_FILES["filename"]["name"]);
$tmp_name = $_FILES["filename"]["tmp_name"];
$new_name = "loadedvideo/load.flv";
if (file_exists($new_name)) {
unlink($new_name);
}
$cmd = "ffmpeg -i $tmp_name -f flv $new_name";
$converting = system($cmd);
}
else {
echo("Ошибка загрузки видео");
}
}
?>
<?php
echo '
<br>
<h2>Ваше сконвертированное FLV-видео:</h2>
<div id="video">
<div class="flowplayer" data-swf="flowplayer.swf" >
<video>
<source type="video/flv" src="loadedvideo/load.flv"/>
</video>
</div>
</div>
</body>
</html>';
?>