mp3info -p “% S” arquivo.mp3 - return: file.mp3 está corrompido ou não é um arquivo MP3 padrão

0

Eu quero ter a duração da música .mp3 em segundos usando o mp3info .

Quando executo

mp3info -p "%S" file.mp3

saída é

file.mp3 is corrupt or is not a standard MP3 file.

O arquivo está correto 100%. Quando executo o comando, no mesmo arquivo, em outro computador, recebo a informação correta. A versão rpm do mp3info é a mesma nos dois computadores.

Alguém sabe o que poderia ser o problema?

    
por tasmaniski 06.06.2013 / 11:52

1 resposta

0

Você pode usar algo como avconv / ffmpeg , que deve ser capaz de grep . Eu recomendo porque é bastante robusto e deve ir além dos cabeçalhos quebrados:

$ avconv -i ~/Music/Aqua/Aquarium/*03*
avconv version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers
  built on Mar 30 2013 22:20:06 with gcc 4.7.2
[mp3 @ 0x733ce0] Header missing
[mp3 @ 0x732960] max_analyze_duration reached
[mp3 @ 0x732960] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from '/home/oli/Music/Aqua/Aquarium/Aqua - 03 - Barbie Girl.mp3':
  Metadata:
    title           : Barbie Girl
    track           : 03/11
    artist          : Aqua
    album           : Aquarium
    genre           : European Pop
    TLEN            : 198008
    album_artist    : Aqua
    TBPM            : 130
    date            : 1999
  Duration: 00:03:50.32, start: 0.000000, bitrate: 128 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
At least one output file must be specified

Em seguida, basta aplicar awk liberalmente:

$ avconv -i ~/Music/Aqua/Aquarium/*03* 2>&1 | awk '/Duration/ {print $2}' | tr -d ,
00:03:50.32
    
por Oli 06.06.2013 / 12:07