ffmpeg - 使用 ffmpeg-php 上传视频时正在创建缩略图图像
问题描述
我必须从上传视频中获取缩略图,我下载了 FFmpeg 并移到了我的项目文件夹中。我从互联网上获得了代码,我上传了视频并回显了它说成功的结果,但是在文件夹中,图像没有保存或没有创建。我不明白是什么问题,请帮助解决这个问题。
代码
<?php
$ffmpeg = "../../ffmpeg/bin/ffmpeg";
$myFile1 = $_FILES["video_path"]["tmp_name"];
$imageFile = "../../student_videos/1.jpg";
$size = "120x90";
$getFrameSecond = 20;
echo $cmd = "$ffmpeg -i $myFile1 -an -ss $getFrameSecond -s $size $imageFile";
if(!shell_exec($cmd)){
echo "success";
}else{
echo "Error";
}
?>
结果是
http://localhost/nibm/ffmpeg/bin/ffmpeg -i C:\xampp\tmp\php3267.tmp -ss 20 -s 120x90 ../../student_videos/1.jpg
success
解决方案
我试试这个代码它正在工作......
$ffmpeg = 'C:\\ffmpeg\\bin\\ffmpeg';
$myFile1 = $_FILES["video_path"]["tmp_name"];
$imageFile = 'output.jpeg';
$size = "350x350";
$getFrameSecond = 20;
//$cmd = "$ffmpeg -i $myFile1 -an -ss $getFrameSecond -s $size $imageFile";
$cmd = "{$ffmpeg} -i {$myFile1} -deinterlace -an -ss {$getFrameSecond} -t 00:00:40 -s {$size} -r 1 -y -vcodec mjpeg -f mjpeg {$imageFile} 2>&1";
if(shell_exec($cmd)){
echo '<img src="http://localhost/nibm/student_videos/output.jpeg">';
echo "success";
}else{
echo "Error";
//echo shell_exec($cmd);
}
推荐阅读
- javascript - 如何从两个输入中获取值并在它们是否相等时写入输出消息?
- python - AttributeError:模块“时间”没有属性“时钟”
- php - 使用 php 和 mysql 运行 INSERT ON DUPLICATE KEY UPDATE
- java - 在键盘中单击完成时如何避免调用 ExpandableListView 中的 getChildView
- python - 如何检查数据库值是否已经存在
- c# - 在 C# 中创建三元条件
- c# - xamarin 形成如何从后面的代码中填充选择器
- javascript - 添加更多 STUN 服务器会增加 WebRTC 连接的机会吗?
- python - python请求冻结程序
- java - Java Spring MongoDB 存储库接口