$thisfile_mpeg_audio['layer'] = $MPEGaudioLayerLookup[$thisfile_mpeg_audio['raw']['layer']];
if ($thisfile_mpeg_audio['layer'] == '1') {
$ThisFileInfo['audio']['bitrate'] = ($framelengthfloat / 4) * $thisfile_mpeg_audio['sample_rate'] * (2 / $ThisFileInfo['audio']['channels']) / 12;
} else {
$ThisFileInfo['audio']['bitrate'] = $framelengthfloat * $thisfile_mpeg_audio['sample_rate'] * (2 / $ThisFileInfo['audio']['channels']) / 144;
}
Качество и длительнось mp3 файла
Возможно ли определить качество звука или продолжительность mp3 файла, средствами PHP?
Сдаётся мне, что это невозможно. Нужно иметь как минимум три параметра для вычисления: продолжительность звучания, размер файла и информацию о каналах. Если с размером файла всё понятно, то всё остальное вычисляют плейеры, чего в php не предусмотрено. Хотя, слыхал я, что есть какая-то библиотека в PECL для работы с mp3. Она на C писана, так может она знает об mp3 больше, чем мы думаем?..
Насколько я знаю она работает только с ID3-тегами... Нужно вычислить продолжительность либо качество... А как вин вычисляет? Когда стрелку наводишь на файл...
http://webfile.ru/1356085
ЗЫ: пробежался по исходнику. Он умеет определять и битрейт, и длину, и частоту дискретизации, и id3 и т.д. и т.п.
Кстати походу умеет со всеми типа муз.файлов пахать
Сам запарился искать спецификацию mp3 (так хоть по коду частично разгребусь может), на том же КодНете не вполне корректна, да и устаревшая ИМХО.
З.Ы. определить вроде как можно, если знать формат файла и.т.д., да хоть в PCM декодируй, если знаешь толк в извращениях.
Или имеется ввиду битрейт? частота? )
Цитата: UAS
Вот когда то нашел класс на пхп для работы с муз.файлами. Вот.. Далее ройся сам в них. Если найдешь то что надо - сообщи!!!:D
http://webfile.ru/1356085
ЗЫ: пробежался по исходнику. Он умеет определять и битрейт, и длину, и частоту дискретизации, и id3 и т.д. и т.п.
Кстати походу умеет со всеми типа муз.файлов пахать
http://webfile.ru/1356085
ЗЫ: пробежался по исходнику. Он умеет определять и битрейт, и длину, и частоту дискретизации, и id3 и т.д. и т.п.
Кстати походу умеет со всеми типа муз.файлов пахать
Да, похоже это оно. Респект!
умеет обрабатывать кучу популярных муз.файлов, умеет рабоать с метаданными картинок, с видео. Вычисляет битрейты, частоту дискретизации, выдирает id3 теги, так он ещё умеет и записывать эти id3-теги!!! Причем по ид3 поддрживается любой версии. Определят необходимый кодеки... ОГО!!!
Ладно. Почитайте в корне файл structure.txt - там все расписано! ^_^
А вот всё остальное... Сильная работа проделана ))))
Цитата: UAS
вот я ща лазаю по коду и офигеваю... человеку делать было нечего что ли столько кода писать??)))
Спасибо - полезная штука
UAS, большое спасибо! Пол часа потратил на то чтоб понять как вычисляется битрейт... Мозг какой то писал...
Ты напиши как. Вдруг мне срочно понадобиться - и чтоб я зря не сидел, время не тратил
Код:
достаточно?
Цитата: Snk
Код:
$thisfile_mpeg_audio['layer'] = $MPEGaudioLayerLookup[$thisfile_mpeg_audio['raw']['layer']];
if ($thisfile_mpeg_audio['layer'] == '1') {
$ThisFileInfo['audio']['bitrate'] = ($framelengthfloat / 4) * $thisfile_mpeg_audio['sample_rate'] * (2 / $ThisFileInfo['audio']['channels']) / 12;
} else {
$ThisFileInfo['audio']['bitrate'] = $framelengthfloat * $thisfile_mpeg_audio['sample_rate'] * (2 / $ThisFileInfo['audio']['channels']) / 144;
}
if ($thisfile_mpeg_audio['layer'] == '1') {
$ThisFileInfo['audio']['bitrate'] = ($framelengthfloat / 4) * $thisfile_mpeg_audio['sample_rate'] * (2 / $ThisFileInfo['audio']['channels']) / 12;
} else {
$ThisFileInfo['audio']['bitrate'] = $framelengthfloat * $thisfile_mpeg_audio['sample_rate'] * (2 / $ThisFileInfo['audio']['channels']) / 144;
}
достаточно?
Спустя год мне понадобился данный класс.
И естественно ссылочка битая, кто еще в теме, перезалейте, пожалуйста!!!
вот есть что-то) правда я не знаю оно это было или нет