Answers:
可以使用transpose
视频过滤器。您不能旋转180度,但可以旋转90度并链接滤镜。
avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv
见transpose
在avconv
手册页:
http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html
是的,但是您需要在命令中添加一些其他选项才能使其正常工作。Transpose和vflip / hflip应该可以解决问题,但是,如果您不向avconv详细说明所需的内容,则可能会得到质量很低的输出,请尝试:
avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4
注意该-crf
选项。设置输出质量。它从0(无损)对数地上升。在大多数情况下,您可能希望输入的值介于19到25之间。-preset
设置编码速度,“慢”,“中”或“快速”。慢应该使您具有较小的权衡较小的文件大小。您应该进行调整-codec:v
以匹配原始图像。如果不设置这些选项,则将获得默认值,这些默认值在翻转iPhone视频时效果不佳。
Unrecognized option 'preset' Failed to set value 'slow' for option 'preset'
那就是我得到的
Unknown encoder 'libx264'
apt-get install libavcodec-extra-53
解决了它
avconv的另一种方法是使用vflip和hflip过滤器。应该运行得更快,也许质量更好:
avconv -i video.mp4 -vf vflip,hflip out.mp4
对于低于14.04或更高版本的avconv或ffmpeg
自@phoibos质量回答此问题以来,libav文档进行了一些更改。通过将2个90度命令链接在一起(以逗号分隔),您可以将视频旋转180度,从而避免完全翻转(通过逗号分隔)
avconv -i inputfile -vf transpose = clock,transpose = clock输出文件
顺时针旋转。
在ffmpeg中,语法是相同的。
ffmpeg -i inputfile -vf transpose = clock,transpose = clock输出文件
其中inputfile是您支持的输入视频文件,而outputfile是所需的输出文件。
对于逆时针旋转,请将时钟替换为cclock
资料来源:
https://libav.org/avconv.html#transpose
在Ubuntu 14.04.5和16.04 LTS上进行测试
-c:a
副本的命令(只输出文件名之前)。我还发现第二个版本的质量难以区分,但是比链式翻译版本快约50%。