{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.bairwell.com/#organization","name":"Bairwell Ltd","url":"https://www.bairwell.com/","sameAs":["https://www.facebook.com/bairwell/","https://www.linkedin.com/company/bairwell","https://twitter.com/bairwell"],"logo":{"@type":"ImageObject","@id":"https://www.bairwell.com/#logo","url":"https://www.bairwell.com/wp-content/uploads/2017/02/bairwell.png","width":400,"height":400,"caption":"Bairwell Ltd"},"image":{"@id":"https://www.bairwell.com/#logo"}},{"@type":"WebSite","@id":"https://www.bairwell.com/#website","url":"https://www.bairwell.com/","name":"Bairwell PHP and WordPress Development","publisher":{"@id":"https://www.bairwell.com/#organization"},"potentialAction":{"@type":"SearchAction","target":"https://www.bairwell.com/?s={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"ImageObject","@id":"https://www.bairwell.com/project/comprobo-video-transcoder/#primaryimage","url":"https://www.bairwell.com/wp-content/uploads/2017/02/transcode_results.jpg","width":1443,"height":946},{"@type":"WebPage","@id":"https://www.bairwell.com/project/comprobo-video-transcoder/#webpage","url":"https://www.bairwell.com/project/comprobo-video-transcoder/","inLanguage":"en-GB","name":"Comprobo - Video Transcoder | Bairwell PHP and WordPress Development","isPartOf":{"@id":"https://www.bairwell.com/#website"},"primaryImageOfPage":{"@id":"https://www.bairwell.com/project/comprobo-video-transcoder/#primaryimage"},"datePublished":"2016-08-15T19:41:40+00:00","dateModified":"2017-02-15T19:54:30+00:00"}]}

Comprobo – Video Transcoder

Videos for the web need to be transcoded into multiple different formats

Comprobo needed the ability to be able to accept user uploaded videos and ensure the later playback of them on a variety of browsers in different video encoding methods.

We constructed for them a Slim3 Framework (PHP) powered API microservice, which accepted JWT (JSON Web Token) signed JSON requests which included an input video location, video output location and additional various parameters. This information was then taken and the video fetched, analysed for length, resolution, name etc (with this information being able to be “called back” at this point) and then encoded using ffmpeg to the various output video parameters. Once completed, thumbnails were automatically generated at key parts of the video (such as 5 seconds in and every 10%) and then all these files were then pushed to the output location before a further callback for “completion” was made.

This project involved a custom ffmpeg build script (to cope with the variety of video encodings).

Date

August 2016

Technologies

PHP

FFmpeg

Slim3

Want us to build or design your site?