их местами?
$file = base_path('app/Console/Commands/2.mov');
$ffprobe = \FFMpeg\FFProbe::create();
$video_dimensions = $ffprobe
->streams($file) // extracts streams informations
->videos() // filters video streams
->first() // returns the first video stream
->getDimensions(); // returns a FFMpeg\Coordinate\Dimension object
$width = $video_dimensions->getWidth();
$height = $video_dimensions->getHeight();
print_r([
'$width' => $width,
'$height' => $height
]);
возвращает
[$width] => 1920
[$height] => 1080
хотя видео снята на мобильный, наоборот соотношение сторон у него
нужно проверять ориентацию
не совсем понимаю как получить текущую ориентацию. есть филтр rotate но он крутит видео
$file = base_path('app/Console/Commands/2.mov'); $ffmpeg = FFMpeg\FFMpeg::create($config, null); $ffprobe = \FFMpeg\FFProbe::create(); $video = $ffmpeg->open($file); $stream = $ffprobe ->streams($file) ->videos() ->first(); $tags = stream->has('tags') ? $stream->get('tags') : []; $rotate = $tags['rotate'] ?? 0; switch(rotate) { case 270: $angle = FFMpeg\Filters\Video\RotateFilter::ROTATE_270; break; case 180: $angle = FFMpeg\Filters\Video\RotateFilter::ROTATE_180; break; case 90: $angle = FFMpeg\Filters\Video\RotateFilter::ROTATE_90; break; default: $angle = 0; } $video->filters() ->rotate($angle); $video->save();
https://github.com/PHP-FFMpeg/PHP-FFMpeg/wiki/How-to-rotate-video-based-on-smartphone-rotate-meta-tag
Обсуждают сегодня