All cases

Innovative AAC encoding/decoding solutions for versatile business applications

Client
A US-based startup operating in media and entertainment
Industry
Media and entertainment
Services
Software development
Tech stack
.Net, React, AWS, Java, JavaScript, Swift, C++, MongoDB, Redux, Spring Boot, Spring Cloud Config, ELK stack, Turbine, Netflix OSS components (Zuul, Eurika, Ribbon, Hystrix)

Challenge

A media and entertainment startup had an idea of a solution that could encode information in signals, transmit these signals at frequencies lower than the 20 Hz threshold for human hearing, and capture and decode them at the recipient side. With this idea in mind, the firm envisioned a comprehensive bundle of tools that could build an Advanced Audio Coding (AAC) string carrying information and insert it into a video or audio file. A personal decoder app would then detect this code inside the video or audio played, extract the embedded information, and display it to the user, if relevant. The startup hired a vendor to build two SDK solutions. One SDK library was designed to compose AAC codes, and the other was meant to decode and process the extracted information. These components were written in C++, which prevented the SDKs from interacting with other applications. To gain access to new investment opportunities, the startup wanted to improve the security, performance, and scalability of their software and extend its functionality. They began their search for a reliable media and entertainment software development company and found one in ITRex.

The client asked our team to build the following:
A desktop application for Windows and Mac that allows users to design AAC codes, enter all the parameters, dictate the associated call to action, and schedule at which point in time the code will be played in the selected audio/video file
A web application that administrators use to build AAC codes with the desired specifications
Native Android and iOS wrappers that would envelop the client’s original AAC decoding SDK
A back end to coordinate all these applications, manage user accounts, interpret AAC codes, and more

Results

The client came up with several business applications for this encoding/decoding solution. One of them is using the toolset for targeted marketing at shopping malls and other public spaces. Here is how this would go. Vendors that want to advertise their products could design a dedicated signal string carrying text and visual information about their campaign. This code would be embedded in a song or any other audio or video playing in a shopping mall. When a person with the client’s app installed comes within the transmission range, they only hear the song, not the advertisement. But the app will detect the AAC code and work with other back-end services to decode the embedded campaign information and display it to the user based on their preferences. For example, if a person mentions they like Thai food, the app will display any promotions related to Thai food. That way, companies could promote their products to their target audience without irritating the general population. We will explain our accomplishments based on the example above.
We designed and implemented a desktop application for Windows and Mac. Different vendors can use this app to design the AAC code representing their campaign. They will configure the call to action, meaning that they will choose images, text, links, or metadata to show when the signal is decoded and schedule where to insert the AAC code within a given audio file. They can also schedule for the AAC string to repeat multiple times during the audio playback.
Our team of engineers developed a web app that allows for generating AAC codes based on vendor-specified parameters. These codes are then integrated into the audio according to the set schedule, producing a new file that is ready for playback. Regular users can also use this web interface to log in and enter viewing preferences.
We built native Android and iOS wrappers (mobile SDKs) around the client’s decoding SDK and two native test apps that encapsulate the wrappers. The test apps provided a simple user interface, allowing vendors and ordinary users to log in and change their settings and viewing preferences. A native test app “hears” an AAC code and triggers the AAC resolution service on the back end to decode the signal. This service communicates with the policy resolution service to see if it should act on the decoded information. The policy service, in turn, checks the corresponding user’s age and preferences to determine if the decoded content is suitable for them. After this sequence of approvals, the mobile app receives the final decision on whether to act on the signal (e.g., display campaign information) or not.
We implemented the back end that is responsible for AAC resolution, user account management, reporting, and analytics. The solution also performs checkups according to user preferences, ensuring compliance with COPPA, ESRB (for age-based viewing), DMCA (for content ownership), managing consents and device opt-in/opt-out, and more.
Building these components was challenging as the client didn’t have a clear picture of what they wanted design-wise, and their SDK libraries were poorly documented.
AAC encoding solution
AAC encoding/decoding solutions

Impact

Our team helped the client build their AAC encoder/decoder solutions in a secure, reliable, and scalable way, making it suitable for business usage
With the revamped software, the client began exploring new business applications and investment opportunities. They started negotiations with a leading entertainment company interested in using the solution for series review and evaluation. This new application, significantly different from the original shopping mall use, highlights the versatility and potential of the solution and business concept.

Latest projects