我需要检测视频是以纵向还是横向模式录制的,然后以脚本方式将其转换为正确的方向。
if [ "$v_orient" == "landscape" ]
then
ffmpeg -i file.mp4 -vf "transpose=1" file.ogv
else
ffmpeg -i file.mp4 file.ogv
fi
我查看了 ffmpeg 在线文档并用谷歌搜索,
我尝试过exiftool https://stackoverflow.com/questions/11000107/detect-orientation-of-video-and-auto-rotate-if-needed
exiftool -Rotation -Rotate file.mp4
然而,对于我拥有的横向和纵向视频,此输出旋转:90。
如何在 bash 中检测视频方向?
ffprobe
是的一部分ffmpeg
包,它将报告视频元数据。
ffprobe somevideo.mp4
grep
可用于仅选择旋转信息。在旋转视频上,我看到以下输出:
$ ffprobe somevideo.mp4 2>&1 | grep rotate
rotate : 90
在我尝试的未旋转视频上,上述命令没有产生任何输出。
该命令取决于视频文件的元数据。如果您的来源不能产生可靠的rotate
标签,您可能需要寻找其他标签。
没有加速计(重力传感器)的旧相机无法判断它们是纵向还是横向,因此无法产生任何有用的标签。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)