Проблемы с онлайн-звуком в Firefox

Вы также можете использовать ffprobe, который является частью ffmpeg.

sudo apt-get install ffmpeg
ffprobe file.mp3

Если вам не нужна другая информация, например длина дорожки и т. д., вы можете комбинировать вывод с grep:

ffprobe file.mp3 2>&1 | grep -A90 'Metadata:'

Или для того, чтобы получить только автора:

ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 file.mp3

Вы можете выбрать другие теги, разделив их запятой, например format_tags=title,album. [ ! d4]

Я хотел найти ключевое слово во всех mp3-файлах в папке. В папке было 486 файлов, поэтому стало интересно узнать, какое из упомянутых здесь решений является самым быстрым. Вот цикл, который я использовал:

# sudo apt-get install ffmpeg lltag eyed3 mp3info id3v2 libimage-exiftool-perl libid3-tools id3tool

keyword='fill_me_in'

getTitleFF()   { ffprobe "$1" 2>&1 | sed -E -n 's/^ *title *: (.*)/\1/p'; }
getTitleLL()   { lltag --show-tags title "$1" | sed -nE 's/^  TITLE=(.*)/\1/p'; }
getTitleEyed() { eyeD3 2>&1 "$1" | grep 'title'; }
getTitleInfo() { mp3info -p %t "$1"; }
getTitleId3()  { id3v2 -l "$1" | sed -nE 's/^TIT2 \([^)]*\): (.*)/\1/p'; }
getTitleExif() { exiftool -title -b "$1"; }
getTitleId3i() { id3info "$1" | sed -n 's/^=== TIT2 \(.*\): //p'; }
getTitleTool() { id3tool "$1" | sed -n 's|^Song Title:\t||p'; }

for prog in FF LL Eyed Info Id3 Exif Id3i Tool; do
    echo "=== getTitle${prog} ==="
    time \
    for file in *.mp3; do 
        if "getTitle${prog}" "$file" | grep -q "$keyword"; then 
            echo "$file"
        fi
    done
done

Примечания:

lltag и mp3info не находят название, потому что файлы, которые я использовал, имели теги ID3v2, см. комментарий от @ s-prasanth: Как читать mp3-теги в оболочке? eyeD3 проблематично использовать программно, потому что он использует цветовые коды (смелость). eyeD3, а также id3v2 (но только для тегов ID3 ​​v1) возвращают название и исполнителя в той же строке, что еще больше усложняет ситуацию; поэтому getTitleEyed, а иногда getTitleId3 возвращают название и исполнителя, поэтому, пожалуйста, не копируйте эти функции. getTitleId3 будет работать только для тегов ID3 ​​v2, потому что id3v2 имеет разные форматы для ID3v1- и ID3v2-тегов, то есть
Title  :                                 Artist:    
против ID3v2:
TIT2 (Title/songname/content description): 
Поскольку единственная программа этих 5 eyeD3 печатает красное предупреждение для два файла:
Invalid mode/bitrate combination for layer II
No ID3 v1.x/v2.x tag found!
Кажется, что эти два файла имеют теги ID3v1, потому что эти два файла являются единственными, где lltag и mp3info могут получить заголовок. Мне интересно, если это ошибка в eyeD3, поскольку никакая другая программа, упомянутая здесь, не имеет проблемы с этими файлами ...

Примечания:

Поразительно, что победитель здесь id3tool (mp3info работает быстрее, но не работает с ID3 v2). id3v2 также довольно быстро, но функция getTitleId3 нуждается в настройке, чтобы работать с ID3v1-тегами, что в худшем случае может замедлить его в 2 раз.

1
задан 24 February 2014 в 20:01

1 ответ

Я предлагаю вам искать «плагины gstreamer» в программном центре. В описании он покажет, какой из них вам нужен для mp3.

, если вы не найдете ничего, что вам, вероятно, нужно включить в источники Universe и Multiverse. вы можете сделать это при редактировании >> источников программного обеспечения.

0
ответ дан 24 May 2018 в 11:25
  • 1
    Спасибо. К сожалению, это не помогло. Я думаю, что есть некоторые проблемы с Firefox, потому что Google Chrome воспроизводит это радио. – Loom 24 February 2014 в 20:20

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

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