【问题标题】:Bash script to extract first seconds and rename mp3 files in folder用于提取第一秒并重命名文件夹中的 mp3 文件的 Bash 脚本
【发布时间】:2015-05-15 04:05:26
【问题描述】:

我有一个包含多个 MP3 文件的文件夹,我需要从中提取 10-15 秒的音频。我还想通过将 sample-(name).mp3 附加到转换后的文件来重命名这些文件。如何通过 Shell 脚本做到这一点?提前致谢!

【问题讨论】:

  • 不能只用shell;您需要一个命令行音频工具来提取剪辑。
  • 哦,应该说清楚了,有ffmpeg、sox和mp3splt --
  • 使用 bash 脚本和 ffmpeg 具有类似修剪功能。

标签: linux ffmpeg mp3 sox


【解决方案1】:

你需要一个像 ffmpeg 这样的工具来完成这个。还有其他工具,例如 mp3split。

你可以编写这样的脚本。

对于目录中的每个 infile:

ffmpeg -t 15 -i infile.mp3 -acodec 复制样本-$infile.mp3

【讨论】:

  • 有什么方法可以使用变量或通配符,还是我必须指定每个 infile 名称?
  • $ for infile in *.mp3;做ffmpeg -t 15 -i $infile -acodec 复制样本-$infile;完成
  • 返回:-acodec:没有这样的文件或目录删除 -acodec:复制:没有这样的文件或目录
【解决方案2】:

Hu,我现在不知道如何提取文件 (.mp3) 的精确 10/15 秒,但您可以使用名为 xxd 的程序以十六进制格式读取文件的一部分并复制它在名为 sample_name 的新文件中... 试着写一个小脚本,我会尽力帮助你。

【讨论】:

  • tape man xxd,你有很多例子,尝试在命令行中使用带有选项的 xxd 并将其粘贴到 bash scipt 中。
【解决方案3】:

感谢 Linux 页面上的用户 - 得到了这个 bash 脚本,运行良好。感谢大家帮助我解决这个问题,非常感谢!

#/bin/bash

对于 *.mp3 中的 i 做 mp3splt "$i" 00.00.00 00.10.00 -o sample-"${i%.mp3}" 完成

【讨论】:

  • 然后确保将此问题标记为已回答。
猜你喜欢
  • 2011-12-25
  • 2016-04-30
  • 2014-12-15
  • 1970-01-01
  • 2016-05-12
  • 2015-02-25
  • 2014-08-05
  • 1970-01-01
  • 2018-09-15
相关资源
最近更新 更多