【问题标题】:How can I rotate video with FFmpeg?如何使用 FFmpeg 旋转视频?
【发布时间】:2010-06-26 12:25:52
【问题描述】:

我现有的视频是 .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;
} 

【问题讨论】:

  • 见stackoverflow.com/questions/2208522/…。具体来说就是答案。
  • 运行此命令需要哪个版本的ffmpeg ffmpeg -vfilters "rotate=90" -i input.mp4 output.mp4
  • 您可能必须自己构建并在运行配置时使用 --enable-vfilters 开关。你在什么操作系统上?
  • 您好 Jason,我是 ffmpeg 新手,第一次使用,我不知道如何构建我们自己的,何时使用 -enable-vfilters 开关,我已经下载了我的技术。支持已安装在我的服务器上。目前我在本地电脑上使用 Mac OS。
  • 我从未在 Mac OS 上构建过它,但这里有一个指南:stephenjungels.com/jungels.net/articles/ffmpeg-howto.html 基本上你需要从他们的网站 (www.ffmpeg.org) 下载源代码,然后运行 ​​configure 、make 和 make install 在目录中。您可以将参数传递给 configure 命令以指定构建 ffmpeg 的哪些部分。 --enable-vfilters 是这些选项之一。似乎大多数可用的预构建二进制文件都不是在启用 vfilter 的情况下构建的。

标签: php ffmpeg


【解决方案1】:

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

ffmpeg -vf "transpose=1" -i input.mp4 output.mp4

(这是我构建 ffmpeg 的方式,以防万一)

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-shared  --disable-mmx --arch=x86_64
make
sudo make install

【讨论】:

  • 嗯,它完成了我想要的,就是将视频向右旋转 90 度。
  • 不应该将-vf "transpose=1" 放在-i <source file> 之后以显示任何效果吗?
猜你喜欢
  • 2011-04-25
  • 2020-01-11
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
相关资源
最近更新 更多