“Azure media services” is part of the Microsoft Azure platform that provides media distribution platforms with video storage, encoding, protection and multi-bitrate streaming tools at scale.
I run such a media distribution platform built with CakePHP 2 and I now want to update the aspects of my site that currently handles user video (upload and download is currently done locally directly from my PHP5 Apache Ubuntu 14 Linux VM) to now use the Azure media services provisions.
I thus require a very good developer that is a rock star with CakePHP and Azure, to build a custom plugin that will allow my CakePHP site effectively use Azure media services to handle video.
Azure docs are mostly written for C# but I have complied links to Azure’s REST and ‘naked’ PHP implementation to make your work straightforward.
Here is an overview of project background & requirements:
Let’s just call my own media marketplace portal ‘[url removed, login to view]’ (not real name of site).
JevBlo allows digital media creators (musicians, film makers, writers etc) to create an account and upload their mp3, mp4 or pdf works for sale.
Users on JevBlo can then find digital works they like, and buy/download/stream them. The users can access the JevBlo marketplace on the web (a cakePHP web application) … or via a mobile app (a native Android Java app that uses the JevBlo API which was also built with CakePHP)
A video creator user, can for instance upload her movie to JevBlo via the video upload form on JevBlo (this implies we will have to separate video uploads from the current combined upload form wherein audio/pdf are also uploaded). This form allows the creator input her video meta data (e.g. movie poster image, movie synopsis, movie genre and other info) to our local CakePHP database, but the video itself should now be programmatically uploaded over to Azure Storage/MediaServices (via their REST API) for encoding and packaging into a multi-bitrate format.
Azure media services will then return a file Download URL (also called a SAS url) as well as an adaptive Streaming URL (also called an origin URL).... We will thus save these URLs in our local DB and make them available to the consumer for streaming (using the Azure media player) and/or download on the web/mobile via our own API endpoints.
Microsoft and other kind people have provided extensive REST API, PHP SDKs, media-players and ‘naked’ code samples to achieve the use of Azure media services… your job on this project is to;
1. Take the ‘naked’ code and build it into a complaint easy-to-use CakePHP MVC custom plugin as well as integrate this plugin into JevBlo on the web for video upload on the creator side… as well as for streaming media consumption on the user’s side of the JevBlo marketplace.
2. Build basic android Java library we can use to stream a multi-bitrate video in our android app using the streaming url securely exposed via the JevBlo API
Attached is a MSword document with links to the actual “naked” REST/PHP code you will need as well as additional details
In closing, a detailed Azure Media Services guide book is attached for reference purposes if needed.
Feel free to send me a private message if you have more questions.
Looking forward to working with you.