【发布时间】:2019-06-28 04:28:14
【问题描述】:
我需要上传 3 种格式/分辨率的视频,例如 360p、480p、720p。
经过一些研究,我知道有一些付费服务,例如 Amazone Elastic Transcoder。但我想做开源,所以我找到了 FFMPEG。
我还想在转码后将视频上传到 Amazon s3 并且视频尺寸很大,比如视频可能包含 1GB 大小。
我有 FFMPEG Library Link
的 php 库我已经安装了 ffmpeg,它成功地生成了新视频。但我不知道如何生成不同的格式/分辨率为 360p、480p、720p。
我的示例代码是
error_reporting(E_ALL);
ini_set('display_errors', 1);
require 'vendor/autoload.php';
//$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('assets/small.mp4');
$video
->filters()
->resize(new FFMpeg\Coordinate\Dimension(320, 240))
->synchronize();
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(2))
->save('assets/frame.jpg');
$format = new FFMpeg\Format\Video\X264();
$format->setAudioCodec("libmp3lame");
$video->save($format, 'assets/new.mp4');
任何人都可以建议我如何实现这一目标吗??
【问题讨论】:
标签: php amazon-s3 ffmpeg ffmpeg-php