php - 如何在php中使用ffmpeg并上传和压缩文件

标签 php video upload ffmpeg

大家好,我已经在我的本地计算机上成功安装了 ffmpeg,现在我想知道在通过 php 将文件上传到服务器时如何使用它。
我希望用户上传的所有文件都转换为 swf 格式。
我还通过 php.ini 增加了我的上传限制,所以没有 upload_mx_size 的问题

直到现在我一直在使用这段代码

 <?php

$srcFile = "test/Sample.mp4";
$destFile = "/test/Sample22";
$ffmpegPath = "/usr/local/bin/ffmpeg";
$flvtool2Path = "/usr/local/bin/flvtool2";

// Create our FFMPEG-PHP class
$ffmpegObj = new ffmpeg_movie($srcFile);
// Save our needed variables
$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth());
$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight());
$srcFPS = $ffmpegObj->getFrameRate();
$srcAB = intval($ffmpegObj->getAudioBitRate()/1000);
$srcAR = $ffmpegObj->getAudioSampleRate();
$srcVB = floor($ffmpegObj->getVideoBitRate()/1000); 

// Call our convert using exec() to convert to the three file types needed by HTML5
exec($ffmpegPath . " -i ". $srcFile ." -vcodec libx264 -vpre hq -vpre ipod640 -b ".$srcVB."k -bt 100k -acodec libfaac -ab " . $srcAB . "k -ac 2 -s " . $srcWidth . "x" . $srcHeight . " ".$destFile.".mp4");

exec($ffmpegPath . " -i ". $srcFile ." -vcodec libvpx -r ".$srcFPS." -b ".$srcVB."k -acodec libvorbis -ab " . $srcAB . " -ac 2 -f webm -g 30 -s " . $srcWidth . "x" . $srcHeight . " ".$destFile.".webm");

exec($ffmpegPath . " -i ". $srcFile ." -vcodec libtheora -r ".$srcFPS." -b ".$srcVB."k -acodec libvorbis -ab " . $srcAB . "k -ac 2 -s " . $srcWidth . "x" . $srcHeight . " ".$destFile.".ogv");

?>

不知道这好不好,但是当我刷新这个页面时它会起作用
 "Fatal error: Class 'ffmpeg_movie' not found in     C:\xampp\htdocs\video\videoupload.php on line 9"  

我已检查文件 sample.mp4 是否存在于测试文件夹中
请帮我上传视频文件并通过 ffmpeg lib 将其转换为 swf 格式

最佳答案

您可能缺少一个模块,使用 php -m 或 phpinfo() 来查看您是否安装了一个名为“FFmpeg-PHP”的模块。如果缺少它,如果您想使用该类,则需要安装它

关于php - 如何在php中使用ffmpeg并上传和压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31531833/

相关文章:

php - 没有收到来 self 的 php 表单的电子邮件

ios - AVURLAsset 找不到视频轨道

c++ - 视频捕获期间显示灰色屏幕 - OpenCV

javascript - 文件上传目的地

php - MySQL:今天是谁 "on"在两个不同的日期之间

javascript - 我如何在 onclick 函数中传递 3 个参数。参数在 php 标记内

php - 防止rest api中的重复请求

css - Html5视频背景,保持视频中心居中

PHP move_uploaded_file 无法进入公共(public)服务器

php - 上传表单 - 无法上传/发布超过 120 Kb