Automating media conversion and share to generate additional revenue for global media giant
The client is a leading provider of Knowledge solutions and services for customers worldwide. Their IT & Business Process Management expertise are for Media Services, Investment Research Services, Media Monitoring & Analysis, and Learning Management Solutions.
The project, AVID Connector, was all about generating transcripts for media (audio/video). These transcripts were generated for the media available in AVID server. AVID has provided APIs to watch folders on the server, download media and upload back the media along with transcripts generated to AVID.
The client provided API services to upload the media, status for tracking the transcript generation for media and download the transcript.
RBT team implemented the middle layer between AVID and client’s API services. We implemented admin dashboard, where admin could provide configurations of AVID and API. Additionally, admin could also monitor the job status and retry/restart the failed jobs.
This prestigious project had below goals to achieve:
- Portal for managing configurations and monitoring the application status.
- AVID API Integration.
- Client API Integration.
- Multimedia Conversions.
- XML file conversions from/to different formats.
- Downloading, Uploading and managing the files with in the server from/to remote servers.
- Daemon processes for performing the above tasks based on the defined configurations.
The key challenge of the project were:
- All the configurations should be configurable from the UI and that should reflect immediately to the application.
- Media conversions from different formats to specific format.
- Mixing the Audio and Video files together for creating a video file.
- Failure rate was high, since this was a real time transcript generation project. Users needed to upload/download large size of files and different types of xml file conversions using multiple API's. We required performing tasks in background for a longer time without fail and it is required to perform other requirements of the client.
- Sharing the data among the different modules using inter-process communication.
RBT team provided following Solutions
- Using the Laravel application to configure all the configurations from the UI, so also user could monitor the application status.
- For converting different types of media files, we used FFMPEG third party Plug ins library.
- For Mixing the Audio and Video, H.264 media file conversion were installed with media codecs.
- Implemented different daemon process for handling different tasks using the Python Daemons module.
- Inter-process Communication done using RabbitMQ Messages queues to share the data between the Daemon processes.
- The key reason behind Selecting Laravel/Python was:
- Laravel and Python are OpenSource
- Both Provided Out-of-the-box functionalities to suite client needs
- Both are Actively supported by Laravel/Python and strong developer community.
- Real time Media Transcript generations
- Increasing real time media transcript generation by 700%
- Reducing system errors by 90%
- Managing Users and Transcripts securely from Dashboard by admin