Php 如何使用FFmpeg旋转视频?

Php 如何使用FFmpeg旋转视频?,php,ffmpeg,Php,Ffmpeg,我现有的视频是.mov并垂直播放,但当我使用FFmpeg将其转换为.flv时,它水平播放。如何更正转换后的视频以垂直播放 function convert_flv($vidtime, $infile, $outfile, $w = 0, $h = 0, $extra_infile = '', $extra_outfile = '') { $parms = ''; if($w == 0 && $h == 0) { //$parms .= '-sameq '; }

我现有的视频是
.mov
并垂直播放,但当我使用FFmpeg将其转换为
.flv
时,它水平播放。如何更正转换后的视频以垂直播放

function convert_flv($vidtime, $infile, $outfile, $w = 0, $h = 0, $extra_infile = '', $extra_outfile = '') {
  $parms = '';
  if($w == 0 && $h == 0) {
    //$parms .= '-sameq ';
  } else {
    $parms = '-s {$w}x{$h} ';
  }

  if($vidtime==60)
  {
    $cmd = ffmpeg($infile, $outfile, $parms.' '.$extra_infile, '-t 00:01:00 -ar 22050 -r 15 -f flv '.$extra_outfile);
  }
  else
  {
    $cmd = ffmpeg($infile, $outfile, $parms.' '.$extra_infile, '-t 00:04:00 -ar 22050 -r 15 -f flv '.$extra_outfile);
  }
  print_r($cmd);
  return $cmd;
} 

使用从SVN提取的当前版本,您可以使用-vf“transpose=1”旋转视频。
下面是一个使用命令行的示例,我相信它很容易转换为php:

ffmpeg -vf "transpose=1" -i input.mp4 output.mp4
(以下是我如何构建ffmpeg,以防这有所帮助)


看见具体来说,答案是.ffmpeg的哪个版本需要运行此命令ffmpeg-vfilters“rotate=90”-i input.mp4 output.mp4运行配置时,您可能需要构建自己的并使用--enable vfilters开关。您使用的是什么操作系统?你好,Jason,我是ffmpeg新手,第一次使用,我不知道如何构建自己的操作系统,以及何时使用-enable vfilters开关,我已经下载并在我的服务器上安装了我的技术支持。目前我在本地pc上使用Mac OS。我从未在Mac OS上构建过它,但这里有一个指南:基本上你需要从他们的网站(www.ffmpeg.org)下载源代码,然后运行
配置
制作
,并在目录中安装
makeinstall
。您可以将参数传递给configure命令,以指定生成ffmpeg的哪些部分--启用vFilter是这些选项之一。似乎大多数可用的预构建二进制文件都不是在启用vFilter的情况下生成的。它实现了我想要的功能,即将视频向右旋转90度。是否应该将
-vf“transpose=1”
放在
-I
之后以显示任何效果?
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-shared  --disable-mmx --arch=x86_64
make
sudo make install