我最近开始在一个用户可以上传视频的网站上工作,而且我是 ffmpeg 的初学者,但是我一直在搜索和搜索如何做这些我想做的事情,但是大多数都不起作用我。
我想将任何视频类型转换为.mp4
并尽可能保持质量。现在我的代码只适用于.mov
和.mp4
上传,但.avi
没有转换(它甚至没有为这些文件创建新文件)。
我也想从视频中截取高质量的截图,但是我现在得到的截图质量似乎很低,所以我不知道这是怎么回事。
我现在使用的代码是这样的:
$ffmpeg = "/Users/USERNAME/ffmpeg/ffmpeg";
$src = "/Applications/MAMP/htdocs/lounge/videos/".$filename."_original.".$ext;
$img = "/Applications/MAMP/htdocs/lounge/videos/thumbnails/".$filename."_1.jpg";
$img2 = "/Applications/MAMP/htdocs/lounge/videos/thumbnails/".$filename."_2.jpg";
$img3 = "/Applications/MAMP/htdocs/lounge/videos/thumbnails/".$filename."_3.jpg";
$video = "/Applications/MAMP/htdocs/lounge/videos/".$filename.".mp4";
$src = preg_replace("/ /", "\ ", $src);
$img = preg_replace("/ /", "\ ", $img);
$imgOutput = shell_exec("$ffmpeg -ss 1 -i $src -s 960x540 -f image2 -vframes 1 $img");
$imgOutput2 = shell_exec("$ffmpeg -ss 15 -i $src -s 960x540 -f image2 -vframes 1 $img2");
$imgOutput3 = shell_exec("$ffmpeg -ss 30 -i $src -s 960x540 -f image2 -vframes 1 $img3");
$videoOuput = shell_exec("$ffmpeg -y -i $src 2>&1 -s vga $video");
我该如何输出 720p 或 1080p 视频?