合并 Mp3 文件并保留索引

合并 Mp3 文件并保留索引

我有多个 Mp3 文件:

0001.mp3
0002.mp3
........
9999.mp3

每个文件都有自己的大小/长度,与其他文件不同。

我想将它们合并为一个 Mp3 文件。同时保留索引文件(txt、xml ...),其中包含每个文件在输出单个文件(BigOutput.mp3)中的起始位置。

例如:

0001.mp3 starts at the 0        Byte of BigOutput.mp3
0002.mp3 starts at the 65874th  Byte of BigOutput.mp3
0003.mp3 starts at the 987485th Byte of BigOutput.mp3
and so on..

是否有任何众所周知的解决方案/程序可用于此目的,或者我必须自己编写?

答案1

这是一个 bash 解决方案。我还没有在实际文件上测试过,但它应该有效。您只需通过标准工具读取文件大小并将它们加在一起即可获得当前索引。第一个文件作为特殊情况处理。

您可以将其作为脚本调用,并以连接顺序提供所有文件名作为参数。

#!/bin/bash

idx=0
idx_txt="idx.txt"

echo "$1 starts at 0" >$idx_txt
shift

for file in "$@" ; do
  idx=$(( idx + $(ls -l|grep "$file"|awk '{print $5}') ))
  echo "$file starts at $idx" >>$idx_txt
done

相关内容