1
em70 2022-04-20 16:38:56 +08:00
插件编译问题,换个更全的编译版吧
|
2
gtheone1 OP @em70 我在这下载的 https://www.gyan.dev/ffmpeg/builds/,选的是 ffmpeg-git-full.7z ,不知道全不全,英文太差
|
3
hxy100 2022-04-20 17:11:07 +08:00
我用你的命令试过了,貌似找到了原因,经过测试,输入文件名和输出文件名的后缀保持一致就能旋转成功,否则旋转不成功,具体原因暂未知;
你的命令中输入文件名是 aa.mp4 ,输出文件名是 bb.mkv ,后缀不一致,你把 bb.mkv 改成 bb.mp4 再试试 |
4
celeron533 2022-04-20 17:58:48 +08:00
`-c copy`复制所有流。然后你尝试在 metadata 里面加上旋转 90 度的信息,应该没问题
但最后你要输出 mkv ,这需要重新封装吧?试试看楼上的意见,后缀不变。 |
5
gtheone1 OP @hxy100
@celeron533 没错,我也得到相同结果。而且我又试了 avi mp4 mkv 作为输入,输出成 mp4 就成功。但无论输入哪种,只要输出不是 mp4 就会旋转失败。不过至少实现无损旋转了,至于扩展名什么的也不重要。 |
6
celeron533 2022-04-20 22:10:49 +08:00 1
https://stackoverflow.com/a/54989279/2075611
简单讲就是 mkv 不会记录旋转信息 |
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 |
8
mingl0280 2022-04-21 09:17:14 +08:00 via Android 1
你那个命令复制码流到输出封装,MKV 封装里面好像没这种元数据。
你得重新压(不使用 copy ,重新编码)到 MKV 去。 |
9
wolfie 2022-04-21 13:59:33 +08:00
transpose +1
|