Недавно я наткнулся на энкодер, работающий с форматом FLAC и перекладывающий часть процесса кодирования на GPU, используя CUDA. Программа называется FlaCuda и взять её можно здесь. Несмотря на то, что написана с использованием .NET, она прекрасно работает при участии Mono. Во всяком случае, никаких трудностей с её использованием на Ubuntu 9.10 amd64 у меня не возникло.
Программка работает довольно шустро, при сжатии одного и того же аудиофайла flac, flake и flacuda показали следующие результаты (amd x2 4200+, geforce 9800 GT):
программа время кодирования размер конечного файла
flac 127 с. 425.3 Мб
flake 106 с. 425.9 Мб
flacuda 24 c. 424.1 Мб
Уровень сжатия у всех программ ставился 8. Получаем солидный пятикратный прирост в скорости. Правда, такого выигрыша можно добиться лишь на длинных файлах. На 3-6-минутных записях время кодирования сокращается примерно вдвое.
Программа умеет брать данные из стандартного ввода и выводить на стандартный вывод, что позволяет воткнуть её в конвейер. Например, я вполне успешно модифицировал cue2tracks для работы с flacuda.
Теперь о минусах. Программа построена на основе кодека flake, поэтому 24-битный звук сжимать не умеет. Очень обидно. Больше недочётов не заметил.
Сам автор предупреждает, что программа всё ещё находится в стадии альфа, поэтому желательно перепроверять полученные файлы. Например, можно полученный .flac перегнать обратно в .wav и сравнить его с исходным, посчитав контрольную сумму того и другого. За развитием можно следить форуме www.hydrogenaudio.org, и там же можно связаться с автором.
Ну и напоследок — бонус для пользователей linux, изменённый скрипт cue2tracks, в который добавлена поддержка FlaCuda. Для работы скрипта нужно поместить исполняемый файл «CUETools.FlaCuda.exe» в "/usr/local/bin" под именем flacuda, а dll-библиотеки — в "/usr/local/lib".
http://www.cuetools.net/doku.php/flacuda
http://www.hydrogenaudio.org/forums/...pic=64628&st=0
http://pastebin.com/f35ed3bf2
вот такая вот радость...
и раньше флак был самым быстрым и открытым кодеком,
а теперь еще и силами видеокарты можно его жать в 10 раз быстрее по факту при наличии карты последнего поколения.
ждем только версии на основе других исходников и поддержки 24бита
Социальные закладки