URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6783
[ Назад ]

Исходное сообщение
"Необходимо написать программу."

Отправлено HighVoltage , 24-Сен-07 17:04 
Необходимо написать программу на С под фрю, которой на вход бы давался mp3 файл различного битрейта 192-320,VBR а на выходе бы выдавался тоже mp3 файл только битрейта 32 или 24, можно задавать.
Но если длина записи исходного файла меньше либо равна минуте, то файл просто понижается в качестве, если более минуты, то необходимо его порезать на 6 участков по 10 секунд.
Т.е. на ваыходе будет файл не длиннее минуты.
При перекодировке хорошо бы пользовать lame.

Кто может взяться?


Содержание

Сообщения в этом обсуждении
"Необходимо написать программу."
Отправлено Answer , 24-Сен-07 17:23 
>Необходимо написать программу на С под фрю, которой на вход бы давался
>mp3 файл различного битрейта 192-320,VBR а на выходе бы выдавался тоже
>mp3 файл только битрейта 32 или 24, можно задавать.
>Но если длина записи исходного файла меньше либо равна минуте, то файл
>просто понижается в качестве, если более минуты, то необходимо его порезать
>на 6 участков по 10 секунд.
>Т.е. на ваыходе будет файл не длиннее минуты.
>При перекодировке хорошо бы пользовать lame.
>
>Кто может взяться?

Сколько денег?


"Необходимо написать программу."
Отправлено Konstantin , 24-Сен-07 17:33 
>Необходимо написать программу на С под фрю, которой на вход бы давался
>mp3 файл различного битрейта 192-320,VBR а на выходе бы выдавался тоже
>mp3 файл только битрейта 32 или 24, можно задавать.
>Но если длина записи исходного файла меньше либо равна минуте, то файл
>просто понижается в качестве, если более минуты, то необходимо его порезать
>на 6 участков по 10 секунд.
>Т.е. на ваыходе будет файл не длиннее минуты.
>При перекодировке хорошо бы пользовать lame.
>
>Кто может взяться?

на перле устроит?

сколько денег дашь?


"Необходимо написать программу."
Отправлено Homewrecker , 24-Сен-07 18:44 
>[оверквотинг удален]
>>просто понижается в качестве, если более минуты, то необходимо его порезать
>>на 6 участков по 10 секунд.
>>Т.е. на ваыходе будет файл не длиннее минуты.
>>При перекодировке хорошо бы пользовать lame.
>>
>>Кто может взяться?
>
>на перле устроит?
>
>сколько денег дашь?

mplayer+lame и ничего писать не надо)


"Необходимо написать программу."
Отправлено HighVoltage , 25-Сен-07 08:58 
В принципе на перле тоже можно.

По поводу денег. Думаю лучше на мыло. За сколько взялись бы?

serega_acdc(bow wow)mail(dot)ru


"Необходимо написать программу."
Отправлено Answer , 25-Сен-07 12:47 
>В принципе на перле тоже можно.
>
>По поводу денег. Думаю лучше на мыло. За сколько взялись бы?
>
>serega_acdc(bow wow)mail(dot)ru

ТЗ бы в начале увидеть.


"Необходимо написать программу."
Отправлено HighVoltage , 25-Сен-07 19:31 
На вход подаётся
1. mp3 файл любого битрейта(>= 192 или VBR)
2. Выходной битрейт (24 или 32), к которому будет преобразован mp3 файл

Методика преобразования:
1. Если mp3 файл короче 1-й минуты,  то он просто кодируется в низкий битрейт.

2. Если mp3 файл длиннее 1-й минуты, то он сначала кодируется в низкий битрейт, а затем нарезается и компонуется следующим образом:
К примеру файл длиною 2 минуты (120 секунд, 0 - 109cc) будет выглядеть следующим образом.
6 интервалов по 10 секунд
Было: 0<----------------------------------------------------------------------->109
стало:0<-->9 + 20<-->29 + 40<-->49 + 70<-->79 + 90<-->99 + 110<-->119

Получается 6 интервалов по 10 секунд, в итоге длина выходного файла не превышает минуты.
Как вычисляется начало 10 секундного интервала.
Допустим T - длина файла в секундах.
ti - время i-го интервала.
ti = T * i / 6, где i = 0..2,
ti = (T * (i + 1) / 6) - 10, где i = 3..5

Проверим для примера файла в 120 секунд.
t0 = 120 * 0 / 6; t0 = 0
t1 = 120 * 1 / 6; t1 = 20
t2 = 120 * 2 / 6; t2 = 40
t3 = (120 * (3 + 1) / 6) - 10; t3 = 70
t4 = (120 * (4 + 1) / 6) - 10; t4 = 90
t5 = (120 * (5 + 1) / 6) - 10; t5 = 110