The HW Blog

Want to be updated? @opencoconut | Feed

Introducing MPEG-DASH support

Bruno Celeste (@brunoceleste)

May 25, 2016 Features

API version: 2016-05-24

To upgrade, connect to your dashboard to review the changes with care and click on the button to immediately upgrade your version.

Here is the list of changes.

New MPEG-DASH output

The MPEG-DASH or Digital Adaptive Streaming over HTTP program allows streaming videos to be played over a variety of different internet connections. This is similar to Apple's HTTP Live Streaming (HLS).

Unlike HLS, MPEG-DASH is widely adopted by other constructors and services like Samsung, Sony, Google and Netflix. If you want adaptive bitrate streaming for Android devices, this is definitely the way to go as DASH is supported natively on this platform.

Using it with Coconut is straightforward as usual with our API:

-> dash = $s3/video.mpd

You can learn more in the MPEG-DASH documentation.

Thumbnail fit option

You can now select the fit mode between pad (default) and crop. crop is especially useful when you want a fixed thumbnail resolution while keeping the original aspect ratio and do not want black bars. Here is a comparison of a thumbnail 600x200 but with different fit mode:

fit comparison

The thumbnail with fit=crop is way better, don't you think? Again, enabling this option is simple:

-> jpg_600x200 = $s3/thumb.jpg, fit=crop

You can learn more in the thumbnail documentation.

Have a question or feedback? Contact us


Top 10 Development and Design Articles Week #1

Eric Fontaine (@EricFontaine_)

May 25, 2016 Resources

Here is our weekly tech digest based on our 10 most engaged tweets about Development and Design :)

#1 redux-observable

Created by Jay Phelps and myself for use on our projects at Netflix, redux-observable is middleware for redux that is inspired by redux-thunk...read more

Top Tweet - Rank1


#2 React, a gentle introduction

React is a Javascript library for creating user interfaces, authored by Facebook and Instagram engineers. Is aimed to solve the challenges involved...read more

Top Tweet - Rank2


#3 Adopting Angular 2: Day 1

Interest in Angular 2 has spiked as it has recently entered the release candidate stage. I want to share about how we settled on Angular 2...read more

Top Tweet - Rank3


#4 State and Forms in React, part 3: handling the complex state

First two articles explained the basics of the value link pattern and Volicon’s Value Link library, showing you how to make simple forms with React...read more

Top Tweet - Rank4


#5 A more seamless workflow — style guides for better design and development

Style guides can give many benefits to the entire workflow, from design right through to build...read more

Top Tweet - Rank5


#6 7 Reasons why NodeJS is increasingly popular with Web developers

Back end development has always had its challenges, especially when it comes to developing a solution that is user-friendly and comprehensive across multiple platforms...read more

Top Tweet - Rank6


#7 Building a Slack bot and then packaging it as a Slack app

Let me start with a short background on what Inspired me to build this app, who knows, you might just see the reason why you need the app installed...read more

Top Tweet - Rank7


#8 How to build your own task runner with es6 and node

I’ve written previously about the topic of running tasks for front end source. I’ve looked at popular task runners such as Gulp and also alternative...read more

Top Tweet - Rank8


#9 How to speed up your web app performance

In the last couple of years, the web landscape has dramatically shifted. People want more interactive and fluid experiences. And they want them fast...read more

Top Tweet - Rank9


#10 Is MeteorJS the right Nodejs framework for your app?

In the world of frameworks, choosing the one that’s right for your application can be daunting. There are pros and cons, full-stack vs. minimalist, API-driven or data-driven...read more

Top Tweet - Rank10


That’s it for the Hacking Week #1. If you like our curation, you can follow us to get more articles, more tips and also chat with us :)


Why Jogg Studio decided to outsource video encoding for its video campaign creation & management platform?

Eric Fontaine (@EricFontaine_)

April 14, 2016 Customers

We are so thrilled to announce that Coconut partners with Jogg. Jogg is designed to gather video from anyone, anywhere, on any device. Content creators then choose their favorite video replies and instantly publish those for everyone to watch. The requirements to secure, manage and publish video content across so many kinds of distribution channels demand a dynamic, cloud-based encoding solution.

Jogg Studio


We had the chance to interview Chris Ordal, Founder and CEO of Jogg.

Chris, why did you decide to move your video encoding to the Cloud?

We ran a campaign for Disney asking fans to share their StarWars story. We needed fast and reliable encoding at massive scale.

Why did you select Coconut?

We have been using Coconut for quite a while and find their solutions to be exactly what we need. After looking around at available options, Coconut was the obvious choice.

How fast and handy was your integration with Coconut?

Coconut has been a dream. From the simplicity of integration to the swift and direct customer service, we're thrilled by how Coconut has enhanced our platform.


Jogg Studio
Chris OrdalFounder and CEO of Jogg
After looking around at available options,
Coconut was the obvious choice.

Why Box Office Buz decided to outsource video encoding for its video database website?

Eric Fontaine (@EricFontaine_)

February 26, 2016 Customers

We are so thrilled to announce that Coconut partners with Box Office Buz. Box Office Buz is a movie, gaming and TV database website. Its goal is to keep track of every trailer, clip, TV spot, and featurette that is released for all of the movies, games, and TV shows in the database. Box Office Buz adds 100's of high quality videos a week to its database and currently has over 10,000 videos currently in its database. Along with it being a database website it is also an entertainment and pop culture website covering everything from gadgets, music, and gaming to movies, comics and television. Box Office Buz has been operating for over five years.

Box Office Buz


We had the chance to interview Ronald Nicholls, Co-Founder of Box Office Buz.

Ron, why did you decide to move your video encoding to the Cloud?

The encoder we where using at the time, went down for 2 days, while it was down we had no response from costumer support, resulting in us needing to quickly move our entire encoding strategy to a new system.

Why did you select Coconut?

Coconut was an encoder we already thought about utilizing so when our current encoder went down, it was a no brainer to switch. The fact that reaching out and getting a response right away from Coconut was the confirmation that switching was the right decision.

How fast and handy was your integration with Coconut?

Coconut has by far been the easiest of all the encoders we have used to implement. we have a very specific upload flow within our CMS, and we did not have to change the way we do anything to implement coconut. Not only that, the implementation resulted in far less coding than any other encoder we have used. We at box Office Buz have utilized several cloud encoders, for our encoding needs. Coconut by far has been the easiest to implement into our CMS. Not only is the API simple, it is robust enough to meet all our needs. As a trailers database website it was imperative that the service we go with quickly encode videos, in multiple formats, with little to no lose in video quality. Coconut checks all the boxes and more.


Box Office Buz
Ronald NichollsCo-founder of Box Office Buz
With Coconut, the implementation resulted in far less coding
than any other encoder we have used.

Why HEVC is even better than you think

Bruno Celeste (@brunoceleste)

February 20, 2016 Tech

A couple of days ago, I decided to make a very simple comparison between the H264 and HEVC (or H265) codecs. Everybody knows that HEVC is (far) superior, and my guess is it will be the future most popular codec in the video industry despite the patent nightmare around it.

But I wanted to know how the user experience will improve when this codec will be mainstream. I don’t know for you but, I’d rather watch a degraded version of a video instead of a "buffering" message popping up every 5 seconds destroying the whole experience.


Continue reading on Medium →


Why Verly.io decided to outsource video encoding for its vertical footage platform?

Eric Fontaine (@EricFontaine_)

February 03, 2016 Customers

We are so excited to announce that Coconut partners with Verly. Verly is the World’s First Vertical Video Marketplace. People hold their phones vertically 95% of the time - it is time to give them the only right - vertical content.

Verly.io


We had the chance to interview Adam Cellary, co-founder & CTO at Verly.io.

Adam, why did you decide to move your video encoding to the Cloud?

We wanted to automize the process of uploading video. Our videographers are giving us raw footage. We have to generate thumbnails and video previews instantly so we can show it on our marketplace.

Why did you select Coconut?

I already have another project running on Coconut platform and cooperation was really great. Project is running since 1,5 year without even one error response from Coconut. That is the proof of high quality service.

How fast and handy was your integration with Coconut?

Coconut’s API is well documented and supports plenty of different features. Thumbnails, watermarks, cutting, croping - you name it - they have it!


Verly.io
Adam Cellaryco-founder & CTO at Verly.io
This was second time I choose Coconut over other services.
Coconut soft just works! :)

Why Atende Simples decided to outsource video encoding for its phone platform?

Eric Fontaine (@EricFontaine_)

September 30, 2015 Customers

We are so excited to announce that Coconut partners with Atende Simples. Atende Simples is complete phone customer support solution for small and medium companies in Brazil. Atende Simples allows small and medium companies in Brazil to have a great phone customer support. It is an all-in-one solution that not only controls the phone process but also integrates it with their applications. Because of that we gave power to Marketing and Sales team that no longer depends on their IT department.

Atende Simples


We had the chance to interview Andre Santos, CTO at Atende Simples.

Andre, why did you decide to move your video encoding to the Cloud?

Developing a whole process of converting our audio files by our own would take us some weeks of development plus time and resource to maintain the whole infra-structure and applications. This process is a simple step in our solution and using a specific service that was built for that made sense.

Why did you select Coconut?

Our dev team thought it was simple and easy. We know you improved a lot since then (we use Coconut for more than 1,5 years). But we never had any major technical issue.

How fast and handy was your integration with Coconut?

Super easy, I really appreciate support! We have to convert our video to squares (AWS was able to do that), and the Coconut guys added that option in a second!


Atende Simples
Andre SantosCTO at Atende Simples
Coconut was a perfect solution for us.
In 3 days we were up and running.

Why Distinct Marketing decided to outsource video encoding for its digital displays platform?

Eric Fontaine (@EricFontaine_)

August 15, 2015 Customers

We are so thrilled excited to announce that Coconut partners with Distinct Marketing. Distinct creates Award-Winning Digital Displays for displaying videos, images and other key information in an automotive, boat dealer, or retail showrooms. A touchscreen interface allows customers to view model information, along with tools such as interactive monthly payment calculators and options-lists. Even the most technologically challenged can create professional presentations in minutes on our Content Creator website: upload videos/images, enter in basic vehicle information and wirelessly deliver the presentation to a display of their choice.

Distinct Marketing


We had the chance to interview Jani Gyllenberg, Founder of Distinct, Inc.

Jani, why did you decide to move your video encoding to the Cloud?

From day one, our goal was to utilize the power of “the cloud” to provide the best experience for our customers.

Why did you select Coconut?

Great API (time saving), great support and a platform that simply works (its been over a year now and Coconut has not let us down once).

How fast and handy was your integration with Coconut?

When we tested out other transcoding services, the integrations were always very complicated and took up a lot of time. Coconut had us up and running in a few minutes time. It just worked.


Distinct Marketing
Jani GyllenbergFounder of Distinct Marketing
Coconut was a no brainer: great API that saved us a ton of time, amazing support, and lighting fast processing.

API update: Webhook event, thumbnail offsets and more

Bruno Celeste (@brunoceleste)

May 12, 2015 Features

API version: 2015-05-07

To upgrade, connect to your dashboard to review the changes with care and click on the button to immediately upgrade your version.

Here is the list of changes.

Webhook event

Sometimes you need to know in real time when something happens like a source file transferred or an output processed. You can now receive a webhook when a specific event is triggered. In addition to this, you will get an overall progress in percent so you can show a nice progress bar in your application.

To get notified for each event, declare your webhook URL like this:

set webhook = https://mysite.com/coconut/webhook, events=true

An example of webhook when an output is processed:

{
  "id": 5194,
  "event": "output.processed",
  "progress": "75%",
  "format": "mp4_240p",
  "url": "http://files.coconut.co.s3.amazonaws.com/newapi/test_240p.mp4"
}

You can learn more in the webhook documentation.

Thumbnail offsets

Another feature asked by developers is a way to grab a thumbnail at specific time of the video. It is now possible thanks to the parameter offsets.

For instance, if we want to get 3 thumbnails at 5sec, 10sec and 15sec of the video, we will write this line in our config file:

-> jpg_300x = $s3/thumb_#num#.jpg, offsets=5,10,15

Amazon S3 custom headers

Finally, we added the support of any custom headers in Amazon S3 output URL. For example, you can control the cache expiration date or add any metadata headers you need. See the complete list of headers on the Amazon S3 documentation.


API update: receive all the metadata into the webhook

Bruno Celeste (@brunoceleste)

April 09, 2015 Features

API version: 2015-04-07

This update brings a feature often asked by developers, the access to the metadata.

You can now receive all the metadata of the source and output videos directly into the webhook. Simply use the new metadata parameter in the webhook declaration:

set webhook = https://yoursite.com/webhook/coconut, metadata=true

You can see an example of a webhook with metadata enabled in the webhook documentation.

Upgrading to the new API version

Connect to your dashboard to review the changes with care and click on the button to immediately upgrade your version.

We hope you will enjoy this update, happy coding!


Get ready to code at LA Hacks...!

Eric Fontaine (@EricFontaine_)

March 31, 2015 Events

We are so thrilled to attend LA Hacks. LA Hacks hackathon draws hordes of young developers to UCLA. More than 1,5000 registered for the 36-hour hackathon, which drew developers from colleges including Stanford, UC Berkeley, USC, UC Davis and Harvard.

The event takes place on April 3, 4 and 5 at the University of California, Los Angeles (UCLA) and is supported by the Major League of Hacking.

Note that Coconut will sponsor an API Prize so don't forget to check both our API and libraries to build amazing apps and win the reward. Happy coding :)

LA Hacks

AWS Signature V4 for new S3 regions supported

Bruno Celeste (@brunoceleste)

March 31, 2015 Features

3 years ago, Amazon Web Service announced in their [forum](https://forums.aws.amazon.com/ann.jspa?annID=1398) a new signature algorithm called [AWS Signature Version 4](http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) for even more security. Existing regions are still compatible with V2, whereas the new ones launched after January 30, 2014 only support V4 like the Frankfurt and Beijing regions. So today, we added support for AWS Signature V4 which is now the default algorithm used by the Coconut platform. There is nothing to do on your side when providing the S3 `output_url`, we automatically retrieve the bucket location which is an essential part in the signature Version 4.

Happy coding and amazing apps at hackNY!

Eric Fontaine (@EricFontaine_)

March 04, 2015 Events

We are so excited to attend **HackNY**. [hackNY](http://hackny.org/a/) organizes once-a-semester student hackathons at which NYC startups present their technologies and students build original applications based on them. And 2015 is already the eleventh edition! The event takes place on March 7th & 8th at Columbia University and is supported by the [Major League of Hacking](https://mlh.io/). Note that Coconut will sponsor an API Prize so don't forget to check both our [API](http://coconut.co/docs/) and [libraries](http://coconut.co/docs/libraries/) to build amazing apps and win the reward. Get ready to hack ;)
SB Hacks

Thumbnail filename sequence number with printf

Bruno Celeste (@brunoceleste)

March 03, 2015 Features

We just added a new functionality that lets you customize the thumbnail filename sequence number. By default we use the special variable `#num#` that is a 2 digits sequence number (`%.2d`) so you get `thumb_01.jpg`, `thumb_02.jpg`, `thumb_03.jpg`, etc by default. If you are not happy with this choice, you can now set your own printf format identifier. Note that we currently support decimal format only. For instance, if you don't want the `0` before the first 9 numbers, just set the filename like this: `thumb_%1d.jpg` and you will get `thumb_1.jpg`, `thumb_2.jpg`, etc. Easy enough!

Why Elly decided to outsource video encoding for its 1 second clips platform?

Eric Fontaine (@EricFontaine_)

February 11, 2015 Customers

We are so excited to announce that Coconut partners with [Elly](http://www.elly.io). Elly is social network based on 1 second clips recorded via your smartphone. You can run your digital diary saving beautiful and important moments from your life, share them with friends and get inspired by other people life. Thanks to compilations of those clips, filters and hashtags you have it all organized and easy accessible on-line on our platform. Be part and watch life of people around the world!
Elly.io


We had the chance to interview Adam Cellary, the founder of Elly.

Adam, why did you decide to move your video encoding to the Cloud?

We had troubles with subscription plans while working with Amazon Elastic Transcoder. Elly is focused on shooting one second clips, and AWS was charging us for every second as for a minute…

Why did you select Coconut?

Coconut seemed to be the cheapest solution with API, and subscription based on transfer.

How fast and handy was your integration with Coconut?

Super easy, I really appreciate support! We have to convert our video to squares (AWS was able to do that), and the Coconut guys added that option in a second!


Elly
Adam CellaryFounder of Elly
Switching from Amazon Transcoder to Coconut was super easy. Thanks to well documented API, the integration took us one evening.

Get ready to build amazing apps at SB Hacks!

Eric Fontaine (@EricFontaine_)

January 26, 2015 Events

We are so excited to attend SB Hacks. SB Hacks is the first annual beachside hackathon where more than 500 hackers spend a weekend building great apps in beautiful weather for the weekend of January 30th-February 1st, 2015.

The event takes place at the UCSB University Center, the most sunny spot in Santa Barbara and is supported by the Major League of Hacking which supports almost 80 student hackathons throughout North America and the United Kingdom each year.

SB Hacks

Why Media Prime decided to outsource video encoding for its woman UGC platform?

Eric Fontaine (@EricFontaine_)

January 26, 2015 Customers

We are so pleased to announce that Coconut partners with [Media Prime](http://www.mediaprime.it/) to outsource video encoding for its woman-oriented content platform [Ro Ba Dadonne](http://www.robadadonne.it/). Ro Ba Dadonne is the biggest italian female community and the best italian way for a woman to discuss about being a woman. Its target is a dynamic and modern woman who love as trends as family and traditional values. With more than 4M followers on social media channels, the platform engages 8M people/week, envolving them in debate and reaching over 15M people/month.
Mediaprime


We had the chance to interview Marco Palermo, Digital Strategist at Media Prime.

Marco, why did you decide to move your video encoding to the Cloud?

We wouldn't keep in house video encoding process cause of its cost in term of hardware and IT professionals, the cloud solution was a nice deal for us.

Why did you select Coconut?

HeyWhatch has a complete encoding formats offer, a very simple-to-use API and a good pricing rate.

How fast and handy was your integration with Coconut?

The integration in our system was pretty simple, it's pretty well documented so it took just a few working hours.


Media Prime
Marco PalermoDigital Strategist at Media Prime
Coconut has insanely accelerated our video encoding process, letting us focus on our real goal: delivering great video contents to our followers.

Get ready to build amazing apps at UofTHacks!

Eric Fontaine (@EricFontaine_)

January 26, 2015 Events

We are so thrilled to attend UofTHacks. UofTHacks is one of the most famous Canadian hackathon bringing over 500 students together to pitch ideas and work on turning them into apps for the weekend of January 30th-February 1st, 2015.

The event takes place at the Bahen Centre for Information Technology located at 40 St. George Street in Toronto and is supported by the Major League of Hacking which supports almost 80 student hackathons throughout North America and the United Kingdom each year.

UofTHacks

Introducing the Coconut API v2

Bruno Celeste (@brunoceleste)

January 08, 2015 Features

We are thrilled to now show you the new API we've been building for the past months, which is by far the best and easiest API we have ever released. ### 8 years old The original Coconut API turned 8 without really having any breaking changes. It means the code you wrote at that time is still working today, which is pretty exceptional by today's standards! Our API was created at a time where everyone just needed a simple Flash version of their videos, so that visitors could watch them on the web. The workflow was pretty straightforward: Transfer -> FLV Encoding -> Deliver. Today, it's way more complicated due to all the new formats: MP4, WebM, HLS, JPG (thumbnails), GIF, and soon HEVC and VP9. That's a lot of work! In 8 years we have seen multiple revolutions in the video industry, for example the rise of the H264 codec, the WebM codec released by Google, the revolution in the mobile industry with iPhone and Android devices, HTTP Live Streaming, and more. All these changes got us transcoding into more and more formats. ### First attempt We introduced the Robot API a couple of years ago. We wanted a simple API that managed everything for you: you submitted a simple config file and we executed everything in the background. You just needed to handle the single webhook sent at the end of the process. It was great, it simplified the integration process a great deal, but it was just a layer built on top of our original API. The original API was still everywhere and every bit of the Robot implementation was pointing to it. We needed to move on. ### Moving on We designed a complete new API with today's transcoding needs in mind, all by keeping the flexibility of the Robot API. From now, the Core API, Preview API, HLS API and Robot API are **deprecated** and we advise you to migrate as soon as possible to the new one. For those using the Robot API, it’s very simple as you just need to rewrite the config file and adapt your webhook script a little. ### Introducing the new API It is pretty straightforward to use the new API: you submit a config file and you wait for a webhook when the process is done (sounds familiar?) That's about it. Here is a typical configuration sample `coconut.conf`: ``` language-ini var vid = abcdefg var s3 = s3://a:s@videobucket/videos/$vid/outputfile1234 set source = http://mysite.com/uploads/inputfile.mp4 set webhook = http://site.com/coconut/webhook?video_id=$vid -> mp4 = $s3.mp4 -> webm = $s3.webm -> hls = $s3.m3u8 -> jpg_300x = $s3_#num#.jpg, number=3 ``` The config file is so simple that it's self-explanatory. It's also very easy to submit the job: ``` language-curl curl https://api.coconut.com/v1/job \ -u api-key: \ -T coconut.conf ``` To learn more, read the [full documentation](/docs) and our [getting started](/docs/tutorials) tutorials on [how to encode videos](/docs/tutorials/encoding-videos). If you have any questions or need any help migrating to this new API, [send us an email](/contact)! We hope you will enjoy this new API as much as we do.

Why Webcast-TV decided to outsource video encoding for its cloud-based video webcast platform?

Eric Fontaine (@EricFontaine_)

December 09, 2014 Customers

We are so pleased to announce that Coconut partners with [WebCast-TV](http://www.webcast-tv.com). WebCast-TV is a simple, powerful and scalable cloud based video webcast platform at an affordable price. Not trying to compete against the mega compaines such as YouTube, Livestream and Ustream etc... as a small company they focus on building close relationships with their customers and develop their service around what they are after. Their website platform has just undergone a major overhaul and their customer feedback has been just great. They have new features that were requested by customers that no other companies provide and more that are to come. They continue to grow and look for partners and investors that can make their ideas a reality.
Webcast-TV


We had the chance to interview Tom Grey, CEO at WebCast-TV.

Tom, why did you decide to move your video encoding to the Cloud?

WebCast-TV started out using a large online video transcoding service but the price was too high for the volume of traffic we had. We set up our own encoding server several years ago but trying to make it scalable for the future ended up making us rethink. We made the decision that its better to use a third party who specializes in the technical aspect of online encoding as well as the hardware and infrastructure required leaving us to focus on what we do best.

Why did you select Coconut?

In the last year WebCast-TV has been working on a major overhaul of our platform. Around the time that we were about to go back to using our previous encoding service we got a personal email from Coconut after they had come across our website. Since we had some time to try out their services, we agreed to run some tests. We really liked their simple API and if we needed to ask questions we got answers promptly. We believe HeyWach has the performance to meet our own and our clients needs, and at a cost that is acceptable to all.

How fast and handy was your integration with Coconut?

Within only a couple of days we had fully integrated the service into our platforms workflow and with successful tests.


WebCast-TV
Tom GreyCEO of WebCast-TV
Using Coconut has really simplified our video transcoding by leaving the technical aspect to them as well as the hardware and infrastructure required.

Introducing a new 1GB free plan for startups, developers and students.

Eric Fontaine (@EricFontaine_)

December 03, 2014 Features

Today, we are thrilled to introduce a 1GB free plan.

Whether you are a startup, a developer or a student, you can now get 1GB free every month to start your project.

Instead of building your own encoding system to save money, enjoy our encoding service at no cost.

Note that you can review all our plans on our pricing page.


Why Arreya decided to outsource video encoding for its cloud-based digital signage system?

Eric Fontaine (@EricFontaine_)

November 05, 2014 Customers

We are so thrilled to announce that Coconut teams up with Arreya. Arreya is the only digital communication service of it's kind. Arreya lives and runs in the cloud providing companies the power to create, edit, manage, push and broadcast content using only a browser. By taking advantage of today's technologies digital signage can now have advanced analytics, real time viewing, multi-touch functions, social media, HD video, live RSS feeds and widgets. Digital signage now expands beyond the traditional reach to any internet ready device. No software to download, no special hardware, and no additional fees to have the same content on multiple screens. Freely share the link to your signage with others, or embed your content in your website, increasing your overall reach. A digital signage service that offers the capabilities you want with the reliability you need.

Arreya


We had the chance to interview Walter Moore, CTO at Arreya.

Walter, why did you decide to move your video encoding to the Cloud?

Arreya is a digital signage service that is HTML5 based and runs entirely in the cloud. Being cloud based, and supporting modern programming languages, Coconut's cloud encoding solution was a natural fit for our application.

Why did you choose Coconut?

Coconut has a straightforward API and tools, good documentation, and many supporting libraries.

How fast and handy was your integration with Coconut?

Using the Node.js library and the web based tools we were able to integrate Coconut and filepicker.io together in Arreya, allowing users to record, upload, and display video from almost any device. Using Coconut we are able to confidently encode their content to the best formats possible for playback on almost any device.


Arreya
Walter MooreCTO of Arreya
Coconut has allowed us integrate video encoding with our cloud based digital signage platform quicker and easier than we previously thought was possible.

Why KaraokeSmart decided to outsource video encoding for its Karaoke platform?

Eric Fontaine (@EricFontaine_)

October 30, 2014 Customers

We are so happy to announce that Coconut partners with Karaoke Smart. Karaoke Smart is a multiplatform app that lets you sing your favorite karaoke songs. You can search your favorite songs or choose them according to your mood. You can add songs to your 'SmartList' and create your playlists with your friends. You can take full control of the content and play it on your Smartphone, Smart TV or Web browser.

KaraokeSmart


We had the chance to interview Manuel Solórzano, Co-founder & CTO of Karaoke Smart.

Manuel, why did you decide to move your video encoding to the Cloud?

Because the cost of deploy and maintain in-house servers for doing this stuffs is too high for a early-stage startup. Also there is a lot of services that can do this better and have more experience for this process, including improve performance.

Why did you choose Coconut?

First, I was looking for cloud services that can help me for solve this issues. I read a lot and found Coconut. For a first impression, this site have a good design and content that explain what they do. After that I found that big companies use it too, I decide to create an account and read more about its docs and API. The workflow for encoding one video was simple and model pricing was right for me (per GB) so I finally choose this service for all my encoding stuffs.

How fast and handy was your integration with Coconut?

Since I read some pages of its documentation, it took me around half an hour to make my first encoding from Amazon S3 Bucket to Windows Blob Storage and some minutes for encoding all my video content to the right format.


Karaoke Smart
Manuel SolórzanoCo-founder & CTO of Karaoke Smart
With Coconut I don't have to worry for encoding a lots of videos and move that to my storage. It's so simple and easy to setup and run encoding. Love this product, possibly one of the best.

Why TryApt decided to outsource video encoding for its video advices project?

Eric Fontaine (@EricFontaine_)

October 22, 2014 Customers

We are so happy to announce that Coconut partners with TryApt. TryApt is a famous Norwegian web development agency. They made a campaign website for a client where the people of Norway could upload their best advices recorded on video. By the end of the campaign they had over 3000 advices on the website. Their client also bought every commercial break for 24 hours on Norway's biggest commercial TV channel. Over 1000 of the advices were shared with everyone on TV during the commercial breaks within the 24 hours.

TryApt


We had the chance to interview Marius Nettum, web developer at TryApt.

Marius, why did you decide to move your video encoding to the Cloud?

Our previous provider was missing some critical functionalities we needed when encoding this many videos for our project.

Why did you choose Coconut?

We needed to encode thousands of video files uploaded by users from their mobile phones, tablet or computer. Coconut offered fast and reliable encoding to all the required formats for web and television. The team could deliver the critical functionalities we needed when encoding videos. This includes encoding to all the required formats, generate thumbnails and automatic rotation of videos that is taken upside down or in portrait mode. Automatic rotation was really important for us to avoid doing this manually on thousands of videos. The price-model is also very affordable comparing to previous providers.

How fast and handy was your integration with Coconut?

The API was easy to understand and you have full control on what is happening with the Coconut control panel. It didn't take long to integrate the API into our project. The Coconut staff also answered questions and fixed minor bugs within hours after we reported them.


TryApt
Marius NettumWeb Developer at TryApt
We can highly recommend Coconut to everyone that needs video encoding of some sort.

Why Jogg decided to outsource video encoding for its audience response platform?

Eric Fontaine (@EricFontaine_)

October 06, 2014 Customers

We are so excited to announce that Coconut teams up with Jogg. Jogg is an audience response platform centered around video calls to action. By simplifying the process of gathering and curating video, Jogg inspires engaging social video.

Jogg


We had the chance to interview Chris Ordal, CEO of Jogg.

Chris, why did you decide to move your video encoding to the Cloud?

We didn't have time to develop & maintain a video encoding server. So it makes sense to find a partner that we can count on.

Why did you choose Coconut?

We chose Coconut because we needed a fast, reliable, and scalable media encoding option that we could easily integrate into the Jogg Platform.

How fast and handy was your integration with Coconut?

The integration went smooth and we were able to fully integrate in just a few days.


Jogg
Chris OrdalCEO at Jogg
Jogg Users (Joggers), that are requesting video need a way to review the video responses quickly and efficiently. One of the awesome Coconut features we are using to help solve this problem is called Storyboard, where the preview image displays different frames of the video. Now Joggers can simply glance at the Storyboard preview image and know if they want to watch the video.

Bonzai selects Coconut to outsource video encoding for its video ad platform

Eric Fontaine (@EricFontaine_)

September 30, 2014 Customers

We are so excited to announce that Coconut partners with Bonzai. Bonzai is a world-class, HTML5 rich media creation platform for crafting immersive ad experiences on mobiles and tablets. Brands, Agencies and publishers have easily created award-winning mobile creatives and widely published ads across leading inventories in realtime using Bonzai. In the last six months, more than 500 exciting HTML5 mobile ads made on Bonzai Studio have engaged with mobile users around the globe.

Bonzai


We had the chance to interview Vandit Panvelkar, Creative Strategist at Bonzai.

Vandit, why did you decide to move your video encoding to the Cloud?

Scaling was a major factor in deciding whether to go on the Cloud or not. Scaling on the Cloud is much easier and we didn't have to worry about system failures or sudden, unexpected spikes in the usage. The great part is that it just works for us.

Why did you choose Coconut?

The ease of use and the quick start process was the clincher. It hardly took an hour to have our first encoding request to go through because APIs were very well documented.

How fast and handy was your integration with Coconut?

Very simple. Thanks to your well documented APIs and Robot script that made the job much easy.


Bonzai
Vandit PanvelkarCreative Strategist at Bonzai
Coconut is an easy to use video encoding service. We've had a great experience using the service and have found no hiccups in its working. The well documented APIs and Robot Script are a boon. The start up process is quick and easy and it hardly takes any time to get going on Coconut.

Now supporting any S3 compatible services as output URL

Bruno Celeste (@brunoceleste)

September 30, 2014 Features

Today, we are adding support for any cloud storage platforms providing S3-compatible API such as:

To get your videos tranferred to an S3-compatible service, you just need to set the host in the output URL like this:

output_url = s3://accesskey:secretkey@bucket/path/objectkey?host=host-of-service.com

You can see all the CDN and protocols we support here.


Introducing API Keys with different environment

Bruno Celeste (@brunoceleste)

September 30, 2014 Features

We introduced the sandbox environment to integrate and test Coconut for free years ago.

The only caveat was that the environment was setup at the account level. If you wanted to test new features while your app was already live, you were out of luck. Your only option was to create another account, which was not really convenient.

This is why, we are introducing the notion of environment per API key. Instead of having many accounts with different environments, you only have one with several API keys.

api keys

Generating a new API key is easy: go to your control panel, select either sandbox or production and click on the Generate button.


Newzpoint selects Coconut to outsource video encoding for its convergent publishing platform

Eric Fontaine (@EricFontaine_)

September 18, 2014 Customers

We are so excited to announce that Coconut partners with Newzpoint. NewzPoint is a powerful, multi-purpose, multimedia publishing, broadcasting and webcasting platform. It can be set up in a variety of configurations to serve a wide range of requirements including: Online Multimedia Publishing, Automated eNewsletter Publishing, Webcasting, Conference Archiving, Web TV Channels, Automated Content Distribution, Content & Information Libraries, Online Training Channels.

Many organisations need to communicate online or with mobile devices to a wide range of target audiences, in a variety of different ways. NewzPoint is powerful and versatile enough to handle most requirements, making it easy and affordable to publish or broadcast anything, anywhere, any time.

Newzpoint


We had the chance to interview John Robins, CEO at Newzpoint LLC.

John, why did you decide to move your video encoding to the Cloud?

We moved our encoding to the cloud to improve the overall performance of our encoding cost effectively. We are expecting to grow exponentially over the next few years and we wanted a system that could scale progressively with our development.

Why did you choose Coconut?

We researched and tested a number of cloud encoding services before deciding to use Coconut as our primary encoding solution. It has made a considerable difference to the performance and delivery of our product to our customers. We loved the simplicity of the Coconut system and pricing structure. Being a start up we need a solution that is both affordable and powerful.

How fast and handy was your integration with Coconut?

Integrating Coconut into NewzPoint was easy and when we did have questions the support team responded quickly. We would recommend Coconut to anyone.


Newzpoint
John RobinsCEO at Newzpoint LLC
We researched and tested a number of cloud encoding services before deciding to use Coconut as our primary encoding solution. We are delighted with the results. It has made a considerable difference to the performance and delivery of our product to our customers.

Edpuzzle selects Coconut to outsource video encoding for its digital teaching platform

Eric Fontaine (@EricFontaine_)

September 16, 2014 Customers

We are so happy to announce that Coconut partners with Edpuzzle. EDpuzzle allows teachers to make any video their lesson. Teachers can use videos from a variety of sources around the Internet as well as upload their own and, with easy to use editing tools, make them perfectly fit their students and classroom needs. Cropping, audio annotation and embedding quizzes at any time in the video are a few things teachers are doing with EDpuzzle. Once the videos are assigned to their students, they receive real time feedback on their progress and level of understanding of the lesson. With EDpuzzle, teachers can finally harness the power of videos in the classroom.


We had the chance to interview Santi Herrero, Co-founder & CTO at EDpuzzle.

Santi, why did you decide to move your video encoding to the Cloud?

As a member of small company, we try to optimize our efforts and focus on the core of our business. Moving our video encoding to the Cloud has allowed us to focus all our engineering efforts to what matters to our users, with the ease of mind that our growing database of educational videos is being taken care of by a scalable and reliable encoding system.

Why did you choose Coconut?

We have tried a couple of different companies for our encoding process but Coconut was the simpler to use from a engineering perspective, allowing us to quickly encode our videos to support all our different platforms. In addition, with Coconut, we have a more fine control on the aesthetics of our different video outcomes as well as their generated thumbnails. Our costumers want to see their videos shine in EDpuzzle and with Coconut, we can deliver that to them.

How fast and handy was your integration with Coconut?

Our integration with Coconut was seamless. We had a legacy encoding system that we wanted to port to Coconut and it didn’t take us longer than a couple of hours. Besides that, with the quick help from the Coconut support team, we were able to generate new video formats overnight for our already big database of videos. What we anticipated to be a headache for us, ended up being a very enjoyable experience.


Edpuzzle
Santi HerreroCo-Founder and CTO at Edpuzzle
We have tried a couple of different companies for our encoding process but Coconut was the simplest to use from a engineering perspective, allowing us to quickly encode our videos to support all our different platforms.

Famipix selects Coconut to outsource video encoding for its sharing platform

Eric Fontaine (@EricFontaine_)

September 09, 2014 Customers

We are so excited to announce that Coconut partners with Famipix. Famipix, founded in 2005, lets families and schools in more than 100 countries share their photos and videos privately and securely. Famipix is an easy-to-use and secure alternative to sharing photos on conventional social networks, because users have fine-grained control over who can access their albums, and no content is indexed or shared to external sites.

Famipix

We had the chance to interview Nathan Skwortsow, founder of Famipix.

Nathan, why did you decide to move your video encoding to the Cloud?

Instead of running our own FFMPEG instances, we'd rather leave this to experts who focus on what they do best, so we can focus on what we do best.

Why did you choose Coconut?

I liked the clear API, the available Ruby library and transparent pricing framework.

How fast and handy was your integration with Coconut?

The Coconut integration was a pleasure to integrate!


Famipix
Nathan SkwortsowFounder of Famipix
My development team was able to get up and running quickly with the transparant and well constructed Coconut API, which allowed us to quickly choose optimal encoding settings for our end users. I am impressed by the speed and quality at which videos are encoded.

Adding watermark support to the HLS API

Bruno Celeste (@brunoceleste)

September 09, 2014 Features

We just added watermark support to the HLS API so you can better work on your brand on mobile devices. Use the already known parameters watermark_image_url and watermark_position from the Job resource, that's easy!

[post:hls/job]
video_id = ${get:video::id}
format_ids = aac_64k_22050hz,hls_416x234_110k,hls_416x234_200k,hls_360p_600k,hls_360p_1000k,hls_720p,hls_1080p
watermark_image_url = http://mysite.com/images/watermark.png
watermark_position = bottomright
output_url = s3://...@bucket/video/

Read more info about watermarking your videos here.


Bulb selects Coconut to outsource video encoding for its publishing platform

Eric Fontaine (@EricFontaine_)

July 08, 2014 Customers

We are so happy to announce that Coconut partners with Bulb. Bulb is the place where students create and publish portfolios and projects while teachers use bulb to publish lessons and collaborate as a class. Note that Bulb has just raised $1 million in serie A to make digital portfolio better.

Bulb

We had the chance to interview David Anderson, CTO of Bulb.

David, why did you decide to move your video encoding to the Cloud?

We had our own solution using a Xuggler, wrapping ffmpeg, but Xuggler wasn't being maintained and we couldn't find a clear alternative. While researching whether to set up our own infrastructure for using ffmpeg directly, or purchasing a commercial video transcoder solution/service, we discovered Coconut and, based on the price, we realized it would be cheaper to integrate with Coconut, based on our current volume, than to create our own solution on top of ffmpeg or to go with a more expensive commercial solutions such as Kaltura, Sorenson, Telestream, etc.

Why did you choose Coconut?

Primarily based on the API, pricing, and supported video formats.

How fast and handy was your integration with Coconut?

Since we already had our own solution, it was relatively fast to switch our integration over to Coconut. The APIs are relatively simple and intuitive. At the time, Coconut didn't have a java library, so we used made direct use of the http APIs. I presume it would have been even faster had the java library been available at the time.


Bulb
David AndersonCTO at Bulb
Coconut has greatly simplified our transcoding efforts and lowered our costs since moving away from our own solution. We also like having the costs based on the size of video rather than the length.

Fotolia selects Coconut to outsource video encoding for its video marketplace

Eric Fontaine (@EricFontaine_)

July 04, 2014 Customers

We are so pleased to announce that Coconut partners with Fotolia. Fotolia is one of the biggest content marketplace on the Web with millions of photos, videos, vectors, illustrations and logos. Enjoy their crowdsourced library and find the right item that fits your creative project.

Fotolia

The main challenge for our video encoding service was to have the same video encoded in multiple video formats and resolutions in real-time or near real-time. Fotolia has encoded more than 300,000 videos in many different video format such as FLV, MP4, SD and HD using specific video codecs, video containers, and audio codecs.

We had the chance to interview Ludovic Levesque, CTO of Fotolia

Hi Ludovic, why did you decide to move your video encoding to the Cloud?

Fotolia chose to use video encoding in the cloud because building this video infrastructure by ourselves were too time-consuming at the beginning of our video business. We didn't have time to dedicate to manage hardware and software to handle all different video codecs.

Why did you choose Coconut?

Coconut API is very well designed, and service proved to be reliable, with only very short issues in all these months.

How fast and handy was your integration with Coconut?

Given the good API documentation, our integration was very easy, less than few weeks to have all our needs covered.


Fotolia
Ludovic LevesqueCTO at Fotolia
Fotolia has been using Coconut for months, and we never had any issues. Using latest video formats and codecs is possible just by changing some API requests, saving time and resources.

Rormix selects Coconut to outsource video encoding for its music video community

Eric Fontaine (@EricFontaine_)

July 03, 2014 Customers

We are excited to announce that we are teaming today with Rormix, the rapid growing platform dedicated to connecting emerging, independent artists to audiences who are hungry to discover new music videos.

Rormix

The Rormix App allows music lovers to discover quality music without the time-consuming hassle of having to go through thousands of videos to find one they like. With a few simple clicks users can access a vast catalogue of curated quality music videos and search for commercial artists they already like; the app then suggests the emerging artists you will also like.

The Coconut cloud video encoding service provides a lightning fast, flexible and affordable turnkey solution for Rormix to instantly outsource video transcoding for its huge video catalogue.

The Rormix App is available for iOS, Android and Firefox.


Rormix
Amman AhmedFounder at Rormix
Coconut has been cost effective and efficient for us as a startup. With a high volume of videos that we need to transcode the service has coped well with quality output for different formats.


New option to start encoding at a given offset

Bruno Celeste (@brunoceleste)

June 25, 2014 Features

We just added a new encoding option offset, to set the start time offset in second. Note that, combined with duration, you can create chunks of video wherever you want.

For instance, to create a fragment of 10 seconds starting at 1 minute:

[post:job]
video_id = ${get:video::id}
format_id = mp4
offset = 60
duration = 10
output_url = s3://....
```<hr />




<h2><a href="/blog/features/2014-06-25-introducing-openstack-storage-support">Introducing OpenStack Storage support</a></h2>
<p class="date">
<img src="http://gravatar.com/avatar/d707194949c58eb4076f040adf116508?s=60" alt="" class="avatar" /> <a href="https://plus.google.com/112189548406603255558?rel=author" target="_blank">Bruno Celeste</a> (<em><a href="http://twitter.com/brunoceleste" target="_blank">@brunoceleste</a></em>)</a>
<br /><br /><i class="fa fa-calendar"></i> June 25, 2014 <span class="category"><a href="/blog/features"><i class="fa fa-folder"></i> Features</a></span></p>

<img class="right" src="http://www.openstack.org/assets/openstack-logo/openstack-cloud-software-vertical-small.png" alt="" style="width:200px;box-shadow:none" />

Today, we are happy to announce the support of OpenStack Storage as a new [destination](/docs/output-urls) for your encoded videos.

[OpenStack](http://www.openstack.org) is an Open Source Cloud Platform created in 2010 by RackSpace and NASA. Today, more than 200 companies have joined the OpenStack project.

From now, send your encoded videos directly to your hosted [OpenStack Storage](http://www.openstack.org/software/openstack-storage/) with Coconut. We created a new output URL scheme for that purpose:

os://auth_token@host/v1/account/container/filename ```

You will find the complete list of cloud providers and protocols we support in output here.


HLS improvements

Bruno Celeste (@brunoceleste)

June 25, 2014 Features

Today, we have added a couple of improvements to our HLS API to better comply with the Apple's requirements.

Bandwidth values are more accurate

The Apple's mediastreamvalidator was complaining about the bandwidth values written in the playlists because they were too far from the actual media bitrates. Here is a typical warning message if it exceeds 10%:

WARNING: Media segment bandwidth exceeded target playlist bandwidth by 61 % ( 2.48 Mbits/sec vs. 1.54 Mbits/sec, limit is 10 %).

All the warning messages are now gone and the playlists we generate are 100% valid.

Support of Audio-only streams

iOS applications using HLS over cellular networks are required to provide at least one audio stream at 64KB/s, so in case of a very bad internet connection, the user is still able to listen to the audio track.

Coconut supports both MP3 and AAC formats. See an API example:

[post:hls/job]
video_id = ${get:video::id}
format_ids = aac_64k_22050hz,hls_416x234_110k,hls_416x234_200k,hls_360p_600k,hls_360p_1000k,hls_720p,hls_1080p
output_url = s3://...@bucket/video/

Read more about the HTTP Live Streaming API here.


The control panel just got way better with an API Request Builder, a Ping Inspector and more

Bruno Celeste (@brunoceleste)

May 27, 2014 Features

We are thrilled to announce new features for the Control Panel that will help a lot with your Coconut integration.

Introducing a visual API Request Builder

We totally revamped the Job creation form that is not just a basic form anymore, but a very powerful API Request Builder that lets you use every APIs we provide. You can either submit the job directly through the interface or get the generated config to use with your code.


A Ping Inspector to inspect and debug Webhooks

One of the fundamental part of Coconut is the ping notification we send to you when specific events occur. Services like requestb.in exist for that purpose but giving you this feature out of the box makes sense because everything is in one place and more integrated into the control panel.

Ping Inspector

Use the given URL whenever you need to and we will show you a nice HTTP request with syntax highlighting.

Better API Logs, available for 3 days

We now give access to 3 days of data so you have more time finding an information or a bug. We also improved the design of the page which makes everything clearer.

API logs

The control panel has never been this useful! We though a lot about how we can help you integrate Coconut very quickly and easily and we hope that all these features will improve your overall experience.


API update: 3 thumbnails generated by default

Bruno Celeste (@brunoceleste)

May 12, 2014 Features

Depending on your project, the default thumbnail we generated was too small. Your only option was to use the preview API to get another one that better fits your needs.

To improve that part, we now generate 3 thumbnails in small (100px), medium(300px) and large (600px) sizes for each videos and encoded videos you have in your account.

The JSON output has been updated to reflect this change:

{
  "created_at": "2014-05-12T13:52:49+02:00",
  "updated_at": "2014-05-12T13:52:49+02:00",
  "title": "testthumb",
  "specs": {
    "mime_type": "video/mp4",
    "size": 7111,
    "video": {
      "length": 17,
      "pix_format": "yuv420p",
      "bitrate": 3283,
      "fps": 30.0,
      "width": 320,
      "height": 240,
      "container": "mov",
      "stream": 0.0,
      "codec": "h264",
      "aspect": 1.33,
      "rotation": 0
    },
    "audio": {
      "bitrate": 128,
      "sample_rate": 44100,
      "codec": "aac",
      "channels": 1,
      "stream": 0.1,
      "synched": true
    },
    "thumb": "http://5.39.75.144/12/13/32921d1df6c63c8ab4c679273198ca72/1051-d.jpg",
    "thumbnails": {
      "small": "http://5.39.75.144/12/13/5977a149bc1932edaba799a0ca82479b/1051-s.jpg",
      "medium": "http://5.39.75.144/12/13/58e1795b4941e1dbb84a67778cc83a02/1051-m.jpg",
      "large": "http://5.39.75.144/12/13/b6cd02931e9ce95c93b72583c76eb5c3/1051-l.jpg"
    }
  },
  "url": "http://5.39.75.144/12/13/f1479f9a2ca845310ed9e8688b54c630/1051",
  "link": "http://coconut.com/video/35942302.bin",
  "filename": "1051",
  "id": 35942302
}

Nothing to do on your side, everything is done automatically. Keep in mind that if you need other sizes and more than one thumbnail, the preview API is still your best friend.


Introducing new plans for startups and developers

Eric Fontaine (@EricFontaine_)

May 09, 2014 Features

Today, we are thrilled to announce brand new plans starting at $5/month. If you are a startup or a developer, you can now afford to start your encoding project in the cloud.

You can review all our plans on our pricing page and subscribe easily to one of them in your Coconut account.


New Plans


HEVC and VP9 now supported (Beta)

Eric Fontaine (@EricFontaine_)

April 16, 2014 Features

We are excited to announce our support for the next generation encoding HEVC and VP9 codecs in beta.

Adding these new video codecs will allow Coconut to bring cloud video encoding to a whole new level in meeting the highest video industry requirements. HEVC video codec delivers 50% better compression than its H.264 predecessor.

Trying the HEVC or VP9 codecs is simple thanks to the dynamic format IDs and their simple syntax:

  • HEVC with MP4 container: mp4:hevc
  • VP9 with WebM container: webm:vp9

HEVC and VP9 are the future of video and promise to deliver even higher video quality for an incredible lower video bit rate, which will be great for Ultra High Definition and 4K standard.


Specifying codecs in dynamic format IDs

Bruno Celeste (@brunoceleste)

April 15, 2014 Features

With Dynamic format IDs, you could use standard formats such as MP4 with H264 / AAC codecs by just naming the format_id mp4. Very handy. But if you want to use another codec instead, like H263, you had to create a new format the old way.

Today, we updated the dynamic format feature to let you choose the video codec and audio codec of your choice. The new naming becomes:

$CONTAINER:$VCODEC:$ACODEC_$SIZE_$VBITRATE_$ABITRATE

$VCODEC and $ACODEC are absolutely not mandatory, use them only if you need to.

Let's say you want to use the H263 codec with an MP4 container:

$ coconut format:info mp4:h263
{
  "container": "mp4",
  "audio_channels": 2,
  "owner": false,
  "audio_codec": "aac",
  "category": null,
  "fps": 0.0,
  "name": "mp4:h263",
  "width": 640,
  "video_bitrate": 800.0,
  "video_codec": "h263",
  "id": "mp4:h263",
  "sample_rate": 44000,
  "two_pass": false,
  "height": 0,
  "audio_bitrate": 128.0
}

Another format with the Matroska container and H264 / MP3:

$ coconut format:info mkv:h264:mp3_720p
{
  "owner": false,
  "category": null,
  "container": "mkv",
  "height": 720,
  "name": "mkv:h264:mp3 720p",
  "width": 1280,
  "fps": 0.0,
  "sample_rate": 44100,
  "video_codec": "h264",
  "id": "mkv:h264:mp3_720p",
  "video_bitrate": 1500.0,
  "audio_bitrate": 128.0,
  "two_pass": false,
  "audio_channels": 2,
  "audio_codec": "mp3"
}

Read our article to learn more about Dynamic Format IDs.


Uploading videos directly to Amazon S3

Bruno Celeste (@brunoceleste)

April 01, 2014 Tech

It's pretty straightforward thanks to Amazon, you can now save some bandwidth and allow your user to upload directly to your S3 bucket.

Here is a very simple example:

<form action="http://yourbucket.s3.amazonaws.com/" method="post" enctype="multipart/form-data">
<input type="hidden" name="key" value="<%%= current_user.id %>/videos/<%%= random_key %>" /><br />
<input type="hidden" name="acl" value="public-read" />
<input type="hidden" name="x-amz-meta-uuid" value="14365123651274" />
<input type="hidden" name="redirect" value="http://yourbucket.s3.amazonaws.com/upload_ok?user_id=<%%= current_user.id %>" >
<input type="hidden" name="AWSAccessKeyId " value="15B4D3461F177624206A" />
<input type="hidden" name="Policy" value="eyAiZXhwaXJhdGlvbiI6ICIy..." />
<input type="hidden" name="Signature" value="2qCp0odXe7A9IYyUVqn0w2adtCA=" />
Video file <input type="file" name="file" /> <br />
<input type="submit" name="submit" value="Upload to Amazon S3" />
</form>

When an user upload the file to your bucket, the response will be:

HTTP/1.1 303 Redirect
x-amz-request-id: 1AEE782442F35865
x-amz-id-2: cxzFLJRatFHy+NGtaDFRR8YvI9BHmgLxjvJzNiGGICARZ/mVXHj7T+qQKhdpzHFh
Content-Type: application/xml
Date: Wed, 14 Nov 2007 21:21:33 GMT
Connection: close
Location: http://yourbucket.s3.amazonaws.com/upload_ok?user_id=39923&bucket=yourbucket&key=39923/videos/pcSd1r8e6lk&etag=39d459dfbc0faabbb5e179358dfb94c3
Server: AmazonS3

In upload_ok page, you'll makethe request to Coconut to transfer and encode the video:

user = User.find(params[:user_id])
url = "http://yourbucket.s3.amazonaws.com/#{params[:key]}"

hw = Coconut.new("HW-API-Key", api_key)
hw.download :create :url => url
...

See the S3 documentation.


Setting Special Permissions on Amazon S3 Bucket

Bruno Celeste (@brunoceleste)

April 01, 2014 Tech

Actually you can create a new user with specific permissions on a specific bucket. So this is exactly what we want for Coconut uploads.

First, go to the amazon console

Create a new user and let the box checked to create access/secret keys. Once done, Download the credentials.

Create a new S3 User

Next, select the new user and select the Permissions tab at the bottom.

Create permissions for S3 User

Click Attach User Policy > Custom Policy

Set S3 Policy for User

Here is the complete Policy:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:GetObjectAcl",
        "s3:PutObjectAcl"
      ],
      "Resource": "arn:aws:s3:::BUCKETNAME/*",
      "Condition": {}
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketAcl"
      ],
      "Resource": "arn:aws:s3:::BUCKETNAME",
      "Condition": {}
    }
  ]
}

You can learn more reading the official documentation


Other posts