Mesclando arquivos Mp3 e mantendo índices

0

Eu tenho vários arquivos Mp3:

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

Cada arquivo tem seu próprio tamanho / tamanho, diferente dos outros.

Eu quero mesclá-los em um único arquivo Mp3. Ao mesmo tempo, manter arquivo de índice (txt, xml ...) que contém onde cada arquivo é iniciado no arquivo único de saída (BigOutput.mp3).

Por exemplo:

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..

Existe alguma solução / programa bem conhecido para este propósito ou eu tenho que escrever o meu próprio?

    
por Humam Helfawi 16.05.2018 / 21:09

1 resposta

0

Esta é uma solução bash. Eu não testei isso em arquivos reais, mas deve funcionar. Você acabou de ler o tamanho do arquivo através das ferramentas padrão e adicioná-los juntos para obter o índice atual. O primeiro arquivo é tratado como um caso especial.

Você chamaria isso como um script com todos os nomes de arquivos fornecidos como argumentos em ordem de concatenação.

#!/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
    
por 16.05.2018 / 21:41