如何在PHP/FFMPEG/PhoneGap中确定视频旋转/方向?
一旦我上传视频到我的服务器上,我就用FFMPEG创建了一个屏幕帽。问题是,如果用户在纵向模式下拍摄视频,屏幕盖会旋转90º。可笑的是,PhoneGap、FFMEG php和FFMPEG似乎没有提供读取视频旋转/方向值的机制 我发现了另一个名为的库,它将提供信息,但不是以一种易于阅读/消化的方式,我正试图避免使用另一个库 关于PhoneGap/FFMPEG,我错了吗?有没有直接的方法来确定视频方向如何在PHP/FFMPEG/PhoneGap中确定视频旋转/方向?,php,cordova,ffmpeg,Php,Cordova,Ffmpeg,一旦我上传视频到我的服务器上,我就用FFMPEG创建了一个屏幕帽。问题是,如果用户在纵向模式下拍摄视频,屏幕盖会旋转90º。可笑的是,PhoneGap、FFMEG php和FFMPEG似乎没有提供读取视频旋转/方向值的机制 我发现了另一个名为的库,它将提供信息,但不是以一种易于阅读/消化的方式,我正试图避免使用另一个库 关于PhoneGap/FFMPEG,我错了吗?有没有直接的方法来确定视频方向 以下是我作为PHP函数的解决方案: function get_video_orientation(
以下是我作为PHP函数的解决方案:
function get_video_orientation($video_path) {
$cmd = FFMPEG_PATH . "ffprobe " . $video_path . " -show_streams 2>/dev/null";
$result = shell_exec($cmd);
$orientation = 0;
if(strpos($result, 'TAG:rotate') !== FALSE) {
$result = explode("\n", $result);
foreach($result as $line) {
if(strpos($line, 'TAG:rotate') !== FALSE) {
$stream_info = explode("=", $line);
$orientation = $stream_info[1];
}
}
}
return $orientation;
}
使用MediaCodec查找旋转值。然后使用FFMPEG旋转视频 例如:ffmpeg-i in.avi-vf“transpose=1”out.avi
这将使视频顺时针翻转90度。使用MediaCodec查找旋转值。然后使用FFMPEG旋转视频 例如:ffmpeg-i in.avi-vf“transpose=1”out.avi
这将使视频顺时针翻转90度。这是否相关?在某种程度上,但我知道我可以使用FFMPEG旋转视频,但问题是我不知道是否需要旋转,因为我不知道视频的方向是什么:关于这个和
FFMPEG-I video.mpg
我看了那个…ffprobe似乎没有给我方向/旋转值。我使用的是ffmpeg 0.6.5。在CentOSSee上安装1.0以获取说明时遇到问题。是否与此相关?在某种程度上,但我知道我可以使用FFMPEG旋转视频,但问题是我不知道是否需要旋转,因为我不知道视频的方向是什么:关于这个和FFMPEG-I video.mpg
我看了那个…ffprobe似乎没有给我方向/旋转值。我使用的是ffmpeg 0.6.5。无法在CentOSSee上安装1.0以获取说明。