![使用 ffmpeg 旋转文件夹中的所有视频?](https://linux22.com/image/1456918/%E4%BD%BF%E7%94%A8%20ffmpeg%20%E6%97%8B%E8%BD%AC%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E8%A7%86%E9%A2%91%EF%BC%9F.png)
我有很多视频录制器旋转了 90 度,所以我想将所有视频顺时针旋转 90 度。这可行吗?
我使用了 for 循环,但由于名称中有空格字符,并且顺序与我的脚本不一致,因此出现了一些错误。它提示我覆盖。。你知道我需要输入什么吗?我的命令也是这个,ffmpeg -i input(filename).mp4 -c copy -metadata:s:v:0 rotate=90 input(filename)%02d.mp4
以便快速完成。它只需添加标志即可旋转,我的视频播放器就可以理解该标志。
编辑:
for i in /home/makgun/Desktop/Run*/*.mp4; do ffmpeg -i $i -c copy -metadata:s:v:0 rotate=90 $i%02d.mp4; done
我用这个命令/home/makgun/桌面/Running\ Man/*.mp4但除非我删除空格字符,否则它不起作用奔跑者文件夹。我还想添加后缀,例如$i01,$i02 ..
编辑 2:我希望将所有输出命名为OrginalFileName01.mp4, OrginalFileName02.mp4, etc.
此外,如果可能的话,在会议成功结束时删除文件。因为它会减少我的硬盘上的可用空间(大量)。
答案1
我认为使用“查找”可以轻松实现这一点:
export SRCDIR="/home/makgun/Desktop/Running Man"
export DSTDIR="foobar"
if [ -d "DSTDIR" ] || mkdir -p "$DSTDIR"
find "$SRCDIR" -iname '*.mp4' -exec ffmpeg -i '{}' -c copy -metadata:s:v:0 rotate=90 copy_{} \;