我的文件夹包含许多不同路径中的文件,例如:folder1/subfolder1/file.mov
文件夹1/子文件夹2/file.mov
我需要将所有文件转换并复制为另一种格式,并将所有路径保存在文件夹 1 之后,例如:
文件夹2/子文件夹1/file.mp4
文件夹2/子文件夹2/file.mp4
我有这个脚本,但它将转码文件保存在原始位置。
#!/bin/bash
MOVIES=/Volumes/drive/
find "$MOVIES" -name '*.MP4' -exec sh -c 'ffmpeg -i "$0" -map 0 -c copy "${0%%.MP4}.mov"' {} \; exit;
请帮忙
谢谢!
最佳答案
更换零件"${0%%.MP4}.mov"
与 "folder2/$(dirname ${0#*/})/$(basename $0 .MP4).mov"
.这不会容忍路径中有空格的 MP4。
ffmpeg 是否创建目录?如果没有,请在 ffmpeg 之前插入:
mkdir -p "folder2/$(dirname ${0#*/})";
关于bash - FFmpeg 和 bash,使用保存路径将多个文件转码到另一个驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38433856/