如何无需重新编码旋转WMV视频?
如何无需重新编码旋转WMV视频?
嘿,我懂你想不用重新编码就旋转WMV视频的需求——毕竟重新编码不仅慢还可能损失画质!你之前用ffmpeg加rotate元数据的思路没问题,但WMV格式和MP4不一样,它不认那个通用的rotate标签,所以VLC才没反应。
其实WMV是基于ASF格式的,它有自己专属的旋转元数据字段,给你两个靠谱的无编码方案:
用ffmpeg的专属参数:直接用
-asf-rotation这个专门给ASF/WMV设计的参数,命令如下:ffmpeg -i LEFT_OUTBOARD.wmv -c copy -asf-rotation 180 tmp.wmv这个命令完全不用重新编码,速度和你之前的操作一样快,而且VLC能正确识别这个原生的旋转信息。
用exiftool修改:如果你更习惯用exiftool,也可以直接修改WMV的ASF旋转元数据,命令是:
exiftool -ASF:Rotation=180 LEFT_OUTBOARD.wmv要是怕覆盖原文件,还可以加
-overwrite_original_in_place参数来备份后再修改。
为啥之前的命令没用呢?因为-metadata:s:v:0 rotate=180是给MP4这类ISO/QuickTime格式用的元数据,VLC播放WMV时根本不会读取这个字段,自然就没效果啦。
修改完之后你可以用exiftool -Rotation LEFT_OUTBOARD.wmv查一下元数据,确认Rotation字段已经改成180,这样就能确保设置生效啦。
备注:内容来源于stack exchange,提问作者Blindy
相关产品推荐
相关产品推荐

