Witam,
przesyłam obecnie dźwięk "na żywo" z jednego komputera na parę innych.
Jednak to powoduje straszne obciążenie sieci.
[Zarówno do nagrywania i przesyłania wykorzystuję bibliotekę SFML]
Chciałbym zmniejszyć te dane. Oczywiście kompresją bezstratną.
Znalazłem na stronie SFML'a to:
class ZipPacket : public sf::Packet
{
virtual const void* onSend(std::size_t& size)
{
const void* srcData = getData();
std::size_t srcSize = getDataSize();
return compressTheData(srcData, srcSize, &size); // this is a fake function, of course :)
}
virtual void onReceive(const void* data, std::size_t size)
{
std::size_t dstSize;
const void* dstData = uncompressTheData(data, size, &dstSize); // this is a fake function, of course :)
append(dstData, dstSize);
}
};
Więc szukam jakiś możliwości do skompresowania danych np: jakiejś bibliotekii/algorytmu.
Co polecicie?
P.S. Dane które dopisuje do pakietów są typu:
const short int* -> próbki
size_t -> liczba próbek