Client-Side vs Server-Side Audio Processing

Hi,

The core functionality of the App/Webpage I want to create involves switching between audio files to present the user with a continuous audio stream.

I chose Backendless as the base of the project because of the clear documentation and learning path, the simple yet powerful database, the lack of developer lock-in and the fact that other low-code and no-code systems link to you as a database service, which implies that you have a good reputation with other platforms. I have been very happy so far.

I have been researching how to implement the audio functionality - the best option I have found is a Flutter package called Audioplayers (multiple concurrent audio players in which cue points can be set to millisecond accuracy). For this, I assume I would write the App/Website in Flutter and connect it, via the Backendless SDK for Flutter to my Backendless database. The programme would then be downloading the original audio files and processing them into a stream on the user’s device.

My question, before I start the process of learning Dart and Flutter, is whether this audio processing can be implemented on the server instead, and which option would be best for my purposes?

Server-side processing may better protect the intellectual property of the artists creating the audio, as their files would never leave the server, and would also reduce the amount of data being transmitted (a single stream as opposed to multiple files with redundant sections). Client-side processing might give a more robust user experience, as the program will, over time, learn to predict user choices to an accurate enough level to be able to pre-download small sections of the database, and so not have to rely on ‘live’ download speeds.

Any advice would be greatly appreciated.

Kind Regards,

Martin Schofield

Hi @Martin_Schofield

Thank you, we appreciate you choosing Backendless
We are looking into your question and will respond as soon as possible

Regards,
Zahar