V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gtheone1
V2EX  ›  FFmpeg

为什么 ffmpeg 加不上 rotate 旋转参数

  •  
  •   gtheone1 · 2022-04-20 16:32:48 +08:00 · 1925 次点击
    这是一个创建于 708 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ffmpeg -i aa.mp4 -c copy -metadata:s:v:0 rotate=90 bb.mkv

    附上输出日志: https://netcut.cn/p/e321491f1686d4a5

    这条执行之后,并没有旋转成功。因为 potplayer 播放过,ffprobe.exe 也播放过,画面并没有旋转

    用 ffprobe -v quiet -print_format json -show_format -show_streams ,来查看转换后的视频的参数:

    https://netcut.cn/p/2326a8e35c3a0e22

    如上,没看见 rotate 参数被添加?按理说,不是会多出一行"rotate": "90" 吗?
    第 1 条附言  ·  350 天前
    结论:不要输出 mkv ,因为不记录旋转信息。输出成 mp4 没问题了
    9 条回复    2022-04-21 13:59:33 +08:00
    em70
        1
    em70  
       2022-04-20 16:38:56 +08:00
    插件编译问题,换个更全的编译版吧
    gtheone1
        2
    gtheone1  
    OP
       2022-04-20 16:46:49 +08:00
    @em70 我在这下载的 https://www.gyan.dev/ffmpeg/builds/,选的是 ffmpeg-git-full.7z ,不知道全不全,英文太差
    hxy100
        3
    hxy100  
       2022-04-20 17:11:07 +08:00
    我用你的命令试过了,貌似找到了原因,经过测试,输入文件名和输出文件名的后缀保持一致就能旋转成功,否则旋转不成功,具体原因暂未知;

    你的命令中输入文件名是 aa.mp4 ,输出文件名是 bb.mkv ,后缀不一致,你把 bb.mkv 改成 bb.mp4 再试试
    celeron533
        4
    celeron533  
       2022-04-20 17:58:48 +08:00
    `-c copy`复制所有流。然后你尝试在 metadata 里面加上旋转 90 度的信息,应该没问题
    但最后你要输出 mkv ,这需要重新封装吧?试试看楼上的意见,后缀不变。
    gtheone1
        5
    gtheone1  
    OP
       2022-04-20 19:50:44 +08:00
    @hxy100
    @celeron533
    没错,我也得到相同结果。而且我又试了 avi mp4 mkv 作为输入,输出成 mp4 就成功。但无论输入哪种,只要输出不是 mp4 就会旋转失败。不过至少实现无损旋转了,至于扩展名什么的也不重要。
    celeron533
        6
    celeron533  
       2022-04-20 22:10:49 +08:00   ❤️ 1
    https://stackoverflow.com/a/54989279/2075611
    简单讲就是 mkv 不会记录旋转信息
    flynaj
        7
    flynaj  
       2022-04-21 08:56:36 +08:00   ❤️ 1
    你那个它并不编码视频,只是改了下播放参数。老播放器不一定支持。
    要旋转,需要重新编码!
    ffmpeg -i i.mp4 -vf transpose=2 -c:v libx264 -crf 30 -c:a copy out.mp4
    mingl0280
        8
    mingl0280  
       2022-04-21 09:17:14 +08:00 via Android   ❤️ 1
    你那个命令复制码流到输出封装,MKV 封装里面好像没这种元数据。
    你得重新压(不使用 copy ,重新编码)到 MKV 去。
    wolfie
        9
    wolfie  
       2022-04-21 13:59:33 +08:00
    transpose +1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3244 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:15 · PVG 20:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.