mp3info -p & ldquo;% S & rdquo; file.mp3 - возврат: file.mp3 поврежден или не является стандартным файлом MP3

Я хочу получить длительность песни .mp3 в секундах, используя mp3info .

Когда я выполняю

mp3info -p "%S" file.mp3

, выводом является

file.mp3 поврежден или не является стандартным файлом MP3.

Файл правильный 100%. Когда я выполняю команду в том же файле на другом компьютере, я получаю правильную информацию. Rpm-версия mp3info одинакова на обоих компьютерах.

Кто-нибудь знает, в чем может быть проблема?

0
задан 7 March 2017 в 07:45

1 ответ

Вы можете использовать что-то вроде avconv / ffmpeg, которое вы сможете затем grep опустить. Я рекомендую его, потому что он довольно надежный и должен выходить за рамки разбитых заголовков:

$ 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

Тогда просто примените awk вольно:

$ avconv -i ~/Music/Aqua/Aquarium/*03* 2>&1 | awk '/Duration/ {print $2}' | tr -d ,
00:03:50.32
0
ответ дан 7 March 2017 в 07:45

Другие вопросы по тегам:

Похожие вопросы: