使用基本名称将文件转换为不同的扩展名

使用基本名称将文件转换为不同的扩展名

我正在试图弄清楚这一点。

我找到了多种方法来做到这一点,但总是导致文件被命名为.mp4.png

这是我的命令脚本:

find -name "*.mp4" -type f|xargs -i ffmpeg -i {} -r 0.0033 -vf scale=-1:1024 -vcodec png $(basename {} .mp4).png

我也尝试过,但效果不太好

find . -type f -iname \*.mp4 | while read -r file do echo "Converting $file" | cut -f 1 -d '.'

ffmpeg -i $file -r 0.0033 -vf scale=-1:1024 -vcodec png "$file" | "cut -f 1 -d '.'".png

done

答案1

这个表述来自帖子 如何使用 ffmpeg 转换整个目录

for i in *.avi; do ffmpeg -i "$i" "${i%.*}.mp4"; done

另一个代码片段是:

for i in *.avi;
  do name=`echo "$i" | cut -d'.' -f1`
  echo "$name"
  ffmpeg -i "$i" "${name}.mov"
done

相关内容