linux - 使用 find 和 ffmpeg (Linux) 在命令行上批量转换多媒体文件

标签 linux ffmpeg find multimedia

为了在命令行的同一文件夹中转换更多音频文件(比方说,FLAC 到 MP3),我以前使用

find ./ -name "*.flac" -exec ffmpeg -i "{}" -b:a 320k "{}".mp3 \;

但问题是生成的 MP3 文件的名称类似于艺术家 - Title.flac.mp3。 这一点也不让我吃惊,但是如果我想避免使用“.flac.mp3”-文件名,我需要输入什么? 转换后的文件应命名为 Artist - Title.mp3,而不是 .flac.mp3 我还没有找到解决这个问题的方法...... 谢谢。

最佳答案

希望对您有所帮助。 我没有测试它,但如果有任何错字,我希望你能理解。

find ./ -name "*.flac" -exec ffmpeg -i "{}" -b:a 320k "{}".mp3 \; -exec rename 's/\.flac//' {} \;

关于linux - 使用 find 和 ffmpeg (Linux) 在命令行上批量转换多媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50292814/

相关文章:

windows - 'ffmpeg' 不是内部或外部命令、可运行程序或批处理文件

php - 在 PHP 字符串中查找 youtube 链接并将其转换为嵌入代码?

c++ - any_of 与 find_if

VBA Access - 在 Word 文档中查找和替换文本

linux - awk - 括号检查

android - AVCodecContex 在android中为宽度和高度返回零

linux - GRUB stage 1.5 的代码驻留在磁盘上的什么位置,加载的地址是什么?

.net-core - FFmpeg 错误 - 管道输入的未指定像素格式

python - 如何将 Python C 模块与 `ld` 链接。对 `__dso_handle' 的 undefined reference

linux - 克隆存储库时 SVN 崩溃