Comments 55
Спасибо, интересно!
+3
Шикарно!
-2
Крайне удивлен прочитаным. Я думал все на много проще.
* Ушел ковырять mp3шки
* Ушел ковырять mp3шки
-10
действительно, времени у вас было много
;-)
;-)
+2
кстати, phpcode.us/ffmpeg-php/
ffmpeg_movie::getDuration() Возвращает продолжительность аудио или видео файла в секундах.
ffmpeg_movie::getDuration() Возвращает продолжительность аудио или видео файла в секундах.
+11
— Ушел ковырять mp3шки
Все уже расковырено… до нас
Все уже расковырено… до нас
-4
На Хабре блог «Алгоритмы» последние время очень радует. Почти всё попадает в Избранное.
+9
А где бы почитать про структуру самих аудиоданных?
+1
Есть в планах заняться этим вопросом плотнее. Если кто-либо не напишет ранее — это впролне может быть темой следующей статьи.
+5
Стандрат, в котором это описано называется ISO/IEC 11172-3 (Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 3: Audio)
+1
Весьма полезно. Предлагаю объявить это как «часть 1», а потом написать «часть 2» — собственно про аудиоданные.
+1
Я как-то писал читалку данных из mp3 для одного проекта и тоже разбирался во всем этом. Но потом пришло понимание, что не стоит заниматься велосипедостроением, и я взял готовый модуль для perl. Но узнать о стоении mp3 файла было крайне интересно.
0
Как раз пользовался на php getID3 — неплохая библиотека, не без своих глюков конечно.
Прикольно что поддерживает расширение возможностей с помощью дополнительных «расширений» по разные форматы файлов. Можно тонко настроить под себя
Прикольно что поддерживает расширение возможностей с помощью дополнительных «расширений» по разные форматы файлов. Можно тонко настроить под себя
-1
Я тоже написал свою программу для чтения заголовков AVI, а потом нашел getID3 — лучшее, что есть на PHP для парсинга мета-данных различных мультимедиа форматов.
0
Бесспорно, getID3 — отличная вещь. Я, кстати, о ней изначально упомянул в ссылках.
Но желание самому «залезть внуть» видимо неистребимо )
Но желание самому «залезть внуть» видимо неистребимо )
0
Очень интересно, спасибо.
Кому интересно и кто хочет углубить свои знания в этой теме: в нашем с форумом программистов журнала тоже есть интересная статья про устройство mp3 файла.
Вот ссылка на онлайн просмоторщик номера: www.procoder.info/index.php?option=com_flippingbook&view=book&id=6
Спасибо за внимание.
Кому интересно и кто хочет углубить свои знания в этой теме: в нашем с форумом программистов журнала тоже есть интересная статья про устройство mp3 файла.
Вот ссылка на онлайн просмоторщик номера: www.procoder.info/index.php?option=com_flippingbook&view=book&id=6
Спасибо за внимание.
+1
Я не понимаю почему меня заминусовали?
Я предложил информацию, которая может быть интересна тем, кто хочет подробнее ознакомится с темой.
Я предложил информацию, которая может быть интересна тем, кто хочет подробнее ознакомится с темой.
+1
На хабре не любят внешние ссылки с саморекламой. Вот вы и поплатились.
+1
Лично я ссылки на _некоммерческие_ проекты рекламой не считаю, даже наоборот это источник дополнительных знаний.
+1
Я с вами полностью согласен. На самом деле ведь могу ошибаться. Всё вышесказанное лишь догадка, предположение и основано на личных наблюдениях. А тут кто его знает в чём причина…
0
Текст уж больно на рекламу похож, если бы просто написали ссылку и подпись «Ещё по теме», думаю эффект был бы диаметрально противоположный ;)
0
Мега-полезная статья для меня! Плюсую.
0
Спасибо, интересно (:
0
Спасибо, позновательно.
-4
Использовал для определения длины mp3-трека на сайте простенький класс. Всего 340 строчек кода в нём и есть всё необходимое. Длина определяется одной строчкой кода.
Сейчас к сожалению ссылок найти не могу на него, но если будет интересно, дам ссылку на сайт, где всё это дело применялось.
Сейчас к сожалению ссылок найти не могу на него, но если будет интересно, дам ссылку на сайт, где всё это дело применялось.
0
340 строчек… немало. В моем примере (ссылка в конце статьи) php-скрипт занимает 190 строк.
Он получает всю необходимую информацию о mp3 файле, включая ID3v1-теги и заголовок ID3v2-тегов.
Учитывая что я не ставил цель написать максимально короткий скрипт — думаю что можно порядком сократить.
Он получает всю необходимую информацию о mp3 файле, включая ID3v1-теги и заголовок ID3v2-тегов.
Учитывая что я не ставил цель написать максимально короткий скрипт — думаю что можно порядком сократить.
0
Сразу лабораторные по теории кодирования информации вспоминаются… Эх золотое было время…
0
Emphasis это не «акцент», это специфическое предыскажение для некоторых систем шумоподавления типа Dolby, например. Соответственно, наличие этого признака должно было включать или выключать экспандер в тракте. Сегодня не используется.
+1
> Однако в данном формате подразумевается, что 1 килобит = 1000 бит, а не 1024
В любом формате 1 килобит = 1000 бит
В любом формате 1 килобит = 1000 бит
+1
вот это респект…
первая длинная статья, которую прочитал с интересом и до конца… )))
Спасибо, взял на заметку (в избранное)
первая длинная статья, которую прочитал с интересом и до конца… )))
Спасибо, взял на заметку (в избранное)
0
UFO just landed and posted this here
Вы пересказали спецификацию. А в чем прикол?
0
Позволю себе исправить одну небольшую неточность в подсчете длины при постоянном битрейте (CBR).
Мы должны учитывать размеры заголовков фреймов. Если у нас N фреймов аудиоданных, то нужно будет еще отнять от размера файла размер заголовков всех фреймов (8*N), т.е. итоговая формула:
Поправка небольшая, но все же ;)
Например, файл имеет размер 350670 байт. Есть ID3v1 теги (128 байт) и ID3v2 теги (1024 байта). Битрейт = 96. Следовательно размер аудиоданных равен 350670 – 128 – 1024 = 349518 байт.
Длительность = 349518 / 96000 * 8 = 29,1265 = 29 секунд
Мы должны учитывать размеры заголовков фреймов. Если у нас N фреймов аудиоданных, то нужно будет еще отнять от размера файла размер заголовков всех фреймов (8*N), т.е. итоговая формула:
length = (filesize - 128 - 1024 - 8*N) / (bitrate * 8).
Поправка небольшая, но все же ;)
0
Гм, оказывается, во-первых, длина заголовка фрейма 4 байта (в статье была опечатка), а, во-вторых, согласно экспериментальным данным, отнимать все же размер заголовков не надо (почему, это уже другой вопрос — возможно, там битрейт учитывает заголовки)…
0
Скажите, а есть ли ограничение хранения звуков в mp3 по частоте? скажем 20000Hz может там быть?
0
Sign up to leave a comment.
Внутри MP3. А как оно всё устроено?