Определите формат Apple AAC против формата Lossless, используя что-то вроде драгоценного камня Ruby MP4Info?
Я пытаюсь организовать музыку для радиостанции и создать библиотеку iTunes с огромным количеством музыкальных файлов. Файлы имеют различные форматы (Flac, MP3, AAC и т. Д.). Мне нужно разбить все файлы по формату.
У меня есть простой скрипт на Ruby, который обходит дерево каталогов и может извлекать его по расширению, поэтому я могу переместить все файлы.mp3 в каталог MP3. Однако у меня проблема с файлами m4a, поскольку некоторые файлы.m4a имеют формат Apple Lossless, а некоторые - формат Apple AAC.
У меня проблема в том, что гем MP4Info, похоже, имеет только "Encoder", который возвращает что-то наподобие iTunes 9.0.2, что не помогает при определении форматирования без потерь по сравнению с потерями.
Итак, я думаю взять атрибут SIZE файла и разделить его на атрибут SECS. Кажется, что я должен быть в состоянии придумать приличную рубрику для байтов / секунду в формате без потерь по сравнению с форматом с потерями, поскольку они будут примерно на порядок ниже. Я не уверен, какой порядок я ищу (я думаю, это зависит от битрейта).
Есть ли лучшие, более простые способы сделать это?
1 ответ
Таким образом, похоже, что использование эвристики для битрейта (например, значений, указанных на en.wikipedia.org/wiki/Bit_rate#Audio_.28MP3.29) полезно, но, возможно, более полезным является список песен iTunes.
Оказывается, в iTunes есть столбец, доступный для битрейта, и все, что сохраняется, так как AAC будет указан как битрейт "256 (переменная)". Таким образом, можно легко отсортировать всю музыкальную библиотеку по битрейту и найти все песни со значением 256. Вы также можете увидеть, какие из них ниже, а затем все, что выше 600, будет без потерь.
Есть проблема около 300-500 или около того. В зависимости от сложности музыки у вас может быть песня с битрейтом 400 или 500 без потерь. Не уверен, что там делать, но это довольно минимум в общем количестве песен.