Extraia uma passagem de áudio específica com o Mplayer 1

0

Esta é basicamente uma questão envolvendo parâmetros para o mplayer (1). (Porque eu não sei onde procurar nos documentos)

Dado que se tem uma passagem de áudio começando em -ss 43:20 , como extrair um dump de áudio (com -o pcm) iniciando nesse ponto para um ponto relativo que termina em + 1min, 30sec ou terminando em um ponto absoluto às 44:50?

    
por Ярослав Рахматуллин 19.10.2012 / 18:38

1 resposta

1

mplayer input.mp3 -ao pcm -ao pcm:file=tmp.wav -ss 5 -endpos 7

Isso salvará de 5 a 7 segundos do arquivo para tmp.wav. Eu não sei como fazer isso com um tempo de término relativo, mas se você colocá-lo em um script, você deve ser capaz de calcular isso facilmente.

Exemplo de script para converter um diff em um timestamp exato:

#!/usr/bin/env python

import sys
import datetime

start = sys.argv[1]
diff = sys.argv[2]

def parse_ts(x):
    bits = [int(a) for a in x.split(":")]
    while len(bits) < 3:
        bits = [0] + bits
    return datetime.timedelta(hours=bits[0],
                              minutes=bits[1],
                              seconds=bits[2])

end = datetime.datetime(2000, 1, 1) + parse_ts(start) + parse_ts(diff)

print end.strftime("%H:%M:%S")

Se você chamar esse date.py, isso salvará 42 minutos e 23 segundos de som:

mplayer input.mp3 -ao pcm -ao pcm:file=tmp.wav -ss 1:23:5 -endpos $(python date.py 1:23:5 42:23)

    
por 19.10.2012 / 18:54