Я создал миниатюру FFMPEG в приложении php и попытался повернуть миниатюру изображения, если видео снизу вверх (перевернуто). Но поворот изображения не работает должным образом.
Ниже приведен код для поворота изображения
$video = $storeHere.$mediaFile;
$tImage = $upload_output['uploaded_file'].'.jpg';
$thumbnail = $storeHere.$tImage;
// shell command [highly simplified, please don't run it plain on your script!]
shell_exec("ffmpeg -i $video -deinterlace -an -ss 1 -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg -s 250x250 $thumbnail 2>&1");
/* image rotate fix */
$source = imagecreatefromjpeg($thumbnail);
$degrees = 270;
$rotate = imagerotate($source, $degrees, 0);
imagejpeg($rotate,$thumbnail);
/* rotate fix ends */
Вышеупомянутое решение все еще может иметь проблему видео, которое будет воспроизводиться каждый раз, чтобы генерировать миниатюру.
Я думаю, что самый простой способ — использовать нативный плеер на вашем мобильном телефоне для воспроизведения видео.
Что вы можете сделать, это попробовать использовать API-интерфейс Native Player для загрузки содержимого (), а затем воспроизвести его — longtailvideo.com/support/jw-player/31800/loading-new-playlists, однако, чтобы это работало, сначала на странице должен присутствовать экземпляр проигрывателя.
Привет, я нашел решение для этого,
shell_exec("ffmpeg -i $video -deinterlace -an -ss 1 -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg -s 250x250 $thumbnail 2>&1");
/* image rotate fix *///vignesh
$exif = exif_read_data($thumbnail);
if (!empty($exif['Orientation'])) {
$source = imagecreatefromjpeg($thumbnail);
switch ($exif['Orientation']) {
case 3:
$degrees = 180;
break;
case 6:
$degrees = -90;
break;
case 8:
$degrees = 90;
break;
}
$rotate = imagerotate($source, $degrees, 0);
imagejpeg($rotate,$thumbnail);