作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 ajax -ffmpeg
制作视频上传系统.但我有一个问题。问题是我的 php 代码每次都说 Invailed file video Format。我在哪里做错了,我不明白。
任何人都可以在这里帮助我吗?
<?php
include_once 'includes.php';
include_once'includes/alphaID.php';
include_once 'includes/getExtension.php';
$valid_formats = array("mp4", "MP4");
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['videop']['name'];
$size = $_FILES['videop']['size'];
if(strlen($name))
{
$ext = strtolower(pathinfo($video_numid, PATHINFO_EXTENSION));
$video_numid = alphaID(microtime(true) * 10000);
if(in_array($ext,$valid_formats))
{
if($size<(50024*50024))
{
$actual_video_name = time().$uid.".".$ext;
$tmp = $_FILES['videop']['tmp_name'];
$video_numid = $_FILES['file']['name'];
if(move_uploaded_file($tmp, $path.$actual_video_name))
{
shell_exec("ffmpeg -i $path.$actual_video_name.flv -f flv -s 650x390 $path.$actual_video_name.mp4");
shell_exec("ffmpeg -i $path.$actual_video_name.mp4 -vcodec png -ss 00:00:15 -s 650x390 -vframes 1 -an -f rawvideo $path.$actual_video_name.png");
$data=$Swamp->Video_Upload($uid,$actual_video_name);
$newdata=$Swamp->Get_Upload_Video($uid,$actual_video_name);
if($newdata)
{
echo '<div class="video_prew"><img src="'.$base_url.$path.$actual_video_name.'" width="100%" height="auto" class="preview_video" id="'.$newdata['id'].'"/></div>';
}
}
else
{
echo "Fail upload folder with read access.";
}
}
else
echo "Video file size max 10 MB";
} else
echo "Invalid file video format.";
} else
echo "Please select video..!";
exit;
}
?>
最佳答案
验证支持格式的更好方法是首先读取文件信息并正确解析它。
使用 ffmpeg -i "filename"这将为您提供有关多媒体文件的详细信息,并且您可以准备支持的视频格式列表。
我做了一些研究,发现我们应该使用 ffprobe 来获取文件详细信息。引用 link更多细节。
您在读取文件扩展名时引用了不正确的变量。
代替
$ext = strtolower(pathinfo($video_numid, PATHINFO_EXTENSION));
$ext = strtolower(pathinfo($name, PATHINFO_EXTENSION));
关于php - 视频上传格式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585455/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!