【发布时间】:2013-03-14 22:10:18
【问题描述】:
我最近开始在一个用户可以上传视频的网站上工作,我是 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 视频?
【问题讨论】:
-
如果你想要高质量的截图,放弃那个 .jpg 并使用 .png
-
1080p 视频是
-s 1920x1080,720p 视频是-s 1280x720 -
好吧,我确实使用了 720p 视频,但与原始视频相比,它仍然有点像素化。
-
原件尺寸是多少?因为将不良视频拉伸到 720p 不会提高其质量。
-
我刚刚测试的最后一张图片是 720p 视频,但我还是将其转换为 720p,所以它显示了质量差异,这比我想要的要差。 (虽然我知道你不能得到确切的质量,但它应该能够接近)
标签: php macos ffmpeg html5-video video-encoding