PHP ffmpeg输出位置

时间:2016-01-18 03:47:20

标签: php ffmpeg

我的网站允许用户将视频文件上传到服务器。原始文件将移至文件夹" Original" ffmpeg将压缩视频并将视频存储在480p文件夹中。如何设置ffmpeg以便将压缩视频文件的输出存储为原始/ 480p?

upload.php的部分代码

$target_dir = "Original/"; //where you want to upload the files to
$target_file = $target_dir.basename($_FILES['file']['name']);
$fileType = pathinfo($target_file, PATHINFO_EXTENSION);
$newFileName = $target_dir.sha1(pathinfo(basename($_FILES['file']['name']), PATHINFO_FILENAME)).'480p'.'.'.$fileType;
//$newFileName = $target_dir.sha1(pathinfo(basename($_FILES['file']['name']), PATHINFO_FILENAME)).'-'.time().'.'.$fileType;
move_uploaded_file($_FILES['file']['tmp_name'], $newFileName);

使用此FFMPEG命令

shell_exec("C:\\ffmpeg\\bin\\ffmpeg.exe -y -i ".$newFileName." -c:v libx264 -s:v 854x480 -c:a copy \"480p\\{$newFileName}\" > logfile.txt 2>&1");

我收到错误     480p \ Original / ffbaf58f1231628f9ac2a583f038b51719006ec6480p.mp4:没有这样的文件或目录

我希望输出存储在原始/ 480p /压缩视频文件

1 个答案:

答案 0 :(得分:1)

首先,您需要在服务器中创建一个文件夹:original/480p
然后将代码更改为:

$target_dir = "original/"; //where you want to upload the files to
$target_file = $target_dir.basename($_FILES['file']['name']);
$fileType = pathinfo($target_file, PATHINFO_EXTENSION);
$newFileName = $target_dir.'/480p/'.sha1(pathinfo(basename($_FILES['file']['name']), PATHINFO_FILENAME)).'480p'.'.'.$fileType;
//$newFileName = $target_dir.sha1(pathinfo(basename($_FILES['file']['name']), PATHINFO_FILENAME)).'-'.time().'.'.$fileType;
move_uploaded_file($_FILES['file']['tmp_name'], $newFileName);

FFmpeg命令:

shell_exec("C:\\ffmpeg\\bin\\ffmpeg.exe -y -i ".$target_file.".".$fileType." -c:v libx264 -s:v 854x480 -c:a copy \"{$newFileName}\" > logfile.txt 2>&1");