vps交流

10块钱求一个ffmpeg命令


我需要用ffmpeg把视频逆时针旋转90°,目前用的如下命令

  1. ffmpeg -i "./1.mp4" -vf "transpose=2" "./2.mp4"

复制代码

这个命令能实现旋转功能,但是把视频强制压缩了,我需要视频不压缩

所以,求一个能把视频逆时针旋转90°并且不压缩视频本身的命令

不压缩的话crf设置成0试试
不过旋转视频不压缩实际也是不可能的,视频是重新编码了的
不太可能吧 就看压缩的多还是少而已。
旋转了实际上就已经重新编码了,看你怎么定义压缩了

菜鸡一只 发表于 2022-2-12 16:46
旋转了实际上就已经重新编码了,看你怎么定义压缩了

码率吧,也就是大小别变。我现在是50M的转完就剩10M了。。。画质都快变成马赛克了

本帖最后由 magneticfield 于 2022-2-12 16:54 编辑

https://gist.github.com/ViktorNova/1dd68a2ec99781fd9adca49507c73ee2

  1. $INPUTVIDEO=’input.mp4′
  2. $OUTPUTVIDEO=’output.mp4′
  3. ffmpeg -i $INPUTVIDEO -metadata:s:v rotate="270" -codec copy $OUTPUTVIDEO

复制代码

改进版,保留了除了rotation以外的metadata:

https://stackoverflow.com/questions/3937387/rotating-videos-with-ffmpeg

  1. ffmpeg -i input.m4v -map_metadata 0 -metadata:s:v rotate="270" -codec copy output.m4v

复制代码

试试这个
ffmpeg -i input.mp4 -vcodec libx264 -preset slower -crf 0  -vf "transpose=2" -acodec copy output.mp4

Unique 发表于 2022-2-12 16:52
试试这个
ffmpeg -i input.mp4 -vcodec libx264 -preset slower -crf 0  -vf "transpose=2" -acodec copy o …

没有旋转,然后源视频是50M的,转完1G

本帖最后由 Unique 于 2022-2-12 17:05 编辑

kosuo 发表于 2022-2-12 16:58
没有旋转,然后源视频是50M的,转完1G

ffmpeg -i input.mp4 -vcodec libx264 -preset slower -crf 18  -vf "transpose=2" -acodec copy output.mp4
再试下
我在外面不方便试

magneticfield 发表于 2022-2-12 16:49
改进版,保留了除了rotation以外的metadata:

牛啊兄弟,完美解决需求。来二维码,请抽烟