Russian Qt Forum
Сентябрь 21, 2024, 22:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qaudioinput -> сжатие на лету -> в файл, в сеть  (Прочитано 7576 раз)
sibmail
Гость
« : Апрель 03, 2011, 07:14 »

подскажите как или чем сжимать на лету поток
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #1 : Апрель 03, 2011, 22:45 »

Цитировать
QByteArray qCompress ( const QByteArray & data, int compressionLevel = -1 )
Compresses the data byte array and returns the compressed data in a new byte array.
The compressionLevel parameter specifies how much compression should be used. Valid values are between 0 and 9, with 9 corresponding to the greatest compression (i.e. smaller compressed data) at the cost of using a slower algorithm. Smaller values (8, 7, ..., 1) provide successively less compression at slightly faster speeds. The value 0 corresponds to no compression at all. The default value is -1, which specifies zlib's default compression.
See also qUncompress().

Может поможет..
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #2 : Апрель 04, 2011, 22:16 »

Мягко говоря не поможет. Это классические алгоритмы сжатия без потерь - они звук почти не сжимают. Ему бы видимо во что-то mp3 подобное преобразовывать надо. Задача почти не сформулирована - что за звук он жмёт, для чего его вообще жать, в какую сеть он его пишет? Пока конкретики не будет и ответов автору темы нормальных не видать.
Записан
sibmail
Гость
« Ответ #3 : Апрель 05, 2011, 05:56 »

какая еще конкретика? кто в курсе дела тот понимает о чем речь!
qaudioinput записывает в PCM, это тоже самое что wav записать в виндосе только без заголовка. эту вавку можно сжать например кодеком GSM -  в 5-10 раз уменьшится размер файла без особых потерь.

Сжать звук надо для уменьшения места и передачи на малых скоростях!
Записан
ufna
Гость
« Ответ #4 : Апрель 05, 2011, 09:11 »

бери FFMpeg и сжимай на лету.
Записан
sibmail
Гость
« Ответ #5 : Апрель 05, 2011, 10:01 »

разбираюсь с ффмпег... ты ж не говоришь с чего начинать
Записан
ufna
Гость
« Ответ #6 : Апрель 05, 2011, 10:46 »

ну вопроса то не было "с чего начать в ффмпег"? Улыбающийся

Штука реально муторная, под винду лучше брать дев. билд с нужными кодеками. Достаточно сделать пример, что они на сайте дают (только он устарел сильно, придется поправить). Там увидишь где идет конвертация видео, точно так же потом ловить и аудио. Будет время, отпишу подробнее.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Апрель 05, 2011, 10:56 »

А если mencoder использовать?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
sibmail
Гость
« Ответ #8 : Апрель 05, 2011, 13:25 »

ну вопроса то не было "с чего начать в ффмпег"? Улыбающийся

Штука реально муторная, под винду лучше брать дев. билд с нужными кодеками. Достаточно сделать пример, что они на сайте дают (только он устарел сильно, придется поправить). Там увидишь где идет конвертация видео, точно так же потом ловить и аудио. Будет время, отпишу подробнее.

http://ffmpeg.org на какую ссылку с примером жать?
Записан
ufna
Гость
« Ответ #9 : Апрель 05, 2011, 14:50 »

http://ffmpeg.org на какую ссылку с примером жать?


В разделе "Documentation" внизу: http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html

это версия старая, сразу не запустится, есть в сети и апгрейды ее. Сам FFMpeg собирать задница, лучше дев. билды качни.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #10 : Апрель 05, 2011, 21:09 »

какая еще конкретика? кто в курсе дела тот понимает о чем речь!
Сжать звук надо для уменьшения места и передачи на малых скоростях!
Мда... Кто в курсе дела, тот понимает, что крики кота, которому передавили хвост - это тоже звук. А то, что тебе нужен низкоскоростной вокодер из вопроса никак не вытекало. Кроме того GSM кодек предназначен для передачи звука со скоростью около 9800 bps. А вот, например, MELP - для 600 bps. Разница есть? Соответственно и сложность алгоритмов мягко говоря несопоставима. Так что конкретики-то и хотелось.
Если все же говорить о кодировании речи, то навскидку можно посмотреть http://www.speex.org. Там есть варианты кодеков на все случаи жизни (2000-32000 bps).
« Последнее редактирование: Апрель 05, 2011, 21:23 от xokc » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.123 секунд. Запросов: 23.