php 应用程序中的 FFMPEG 缩略图未正确旋转
FFMPEG thumbnail in php application's is not rotated properly
我在 php 应用程序中创建了一个 FFMPEG 缩略图,并尝试在视频自下而上(反转)时旋转缩略图。但是图像旋转无法正常工作。
下面是图片旋转的代码
$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 */
嗨,我找到了这个问题的解决方案,
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);
上述解决方案仍然可能存在每次生成缩略图要播放的视频的问题。
我想最简单的方法是使用手机中的本机播放器播放视频
您可以做的是尝试使用本机播放器 API 来加载()内容,然后播放()它 - longtailvideo.com/support/jw-player/31800/loading-new-playlists,但是,首先需要有一个播放器实例已经存在于页面上上班。
我在 php 应用程序中创建了一个 FFMPEG 缩略图,并尝试在视频自下而上(反转)时旋转缩略图。但是图像旋转无法正常工作。 下面是图片旋转的代码
$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 */
嗨,我找到了这个问题的解决方案,
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);
上述解决方案仍然可能存在每次生成缩略图要播放的视频的问题。
我想最简单的方法是使用手机中的本机播放器播放视频
您可以做的是尝试使用本机播放器 API 来加载()内容,然后播放()它 - longtailvideo.com/support/jw-player/31800/loading-new-playlists,但是,首先需要有一个播放器实例已经存在于页面上上班。