The HW Blog

Want to be updated? @opencoconut | Feed

Top 10 Development and Design Articles Week #9

Eric Fontaine (@EricFontaine_)

July 20, 2016 Resources

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

#1 Store your Nodejs application logs to Minio

Logging remains one of the major concerns among developers. Typically, various components like the web servers, databases store logs at different locations... read more

Top Tweet - Rank1


#2 Learn Node.js with Brigadier Fluffykins part I: sync, async, and creating your first server!

Welcome to Part I of Learn Node.js With Brigadier Fluffykins, a series created to help you easily understand Node.js ❤ A new adventure has arrived!... read more

Top Tweet - Rank2


#3 Solving the delayed AngularJS UI rendering server-side with Rails

We’ve now been writing some awesome AngularJS code at BuildZoom for nearly a year. It’s helped us release great features faster and provided for a significant... read more

Top Tweet - Rank3


#4 Uploading images to AWS S3 in Swift with a Node backend

Many apps require some sort of image-upload functionality, but implementing this means solving a few different problems. The developer must... read more

Top Tweet - Rank4


#5 Why MEAN stack is a great technology choice for new startups?

Most non-technical founders are puzzled when presented with so many technology choices for developing their ideas.Most pros will agree that the... read more

Top Tweet - Rank5


#6 jQuery & CSS3 navigation hover effects tutorials

A simple navigation with hover transitions; CSS3 hover effect using :after Psuedo Element; Simple CSS3 navigation hover effect... read more

Top Tweet - Rank6


#7 How to do OCR in Ruby on OSX

Few words about what Tesseract is. Tesseract is an open-source OCR library, which was initially developed by Hewlett Packard, and in 2005 it was released as... read more

Top Tweet - Rank7


#8 Percy enables continuous visual integration for webapps

Unlike other services that are limited to only testing staging servers or live sites, Percy integrates directly into your test suite and development workflow... read more

Top Tweet - Rank8


#9 Tip for Beginning Android Development

Java is Android’s main programming language. Learn object-oriented programming concepts, Java language fundamentals, including packages, classes... read more

Top Tweet - Rank9


#10 The JavaScript language reboot is done

The year 2015 was pretty tiring in the JavaScript world. This was widely acknowledged and read to JavaScript Fatigue being “a thing” and there were memes... read more

Top Tweet - Rank10


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


Top 10 Development and Design Articles Week #8

Eric Fontaine (@EricFontaine_)

July 13, 2016 Resources

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

#1 Thoughts on automated API integration testing

API flows, or API integration, means running a sequence of API requests, where each request depends on the output of the previous requests. The simplest example is:... read more

Top Tweet - Rank1


#2 The future is JavaScript

It’s a strong headline, it’s a catchy headline but it’s more than just something to draw people in. It’s a statement, it’s a hard hitting statement. We have so many... read more

Top Tweet - Rank2


#3 Getting ESlint right in React Native

Eslint is not new for React Native apps, but I admit that getting eslint to work seamlessly in React Native is not so trivial (yet?) and couldn’t find simple... read more

Top Tweet - Rank3


#4 Tools that ease the front-end process

Every programmer, back-end or front-end, has a set of tools that help in the development process. Some are of great help, others less so. It is... read more

Top Tweet - Rank4


#5 Unit Testing with Jasmine: an introduction

In this post I’ll discuss getting started with unit testing with Jasmine, including how to set up tests for an Angular 2 application. I’ll be... read more

Top Tweet - Rank5


#6 Why you should invest on Ruby on Rails?

These days, modern languages ​​have exponentially gained ground in the software industry. Corporate industry and startups are increasingly relying on... read more

Top Tweet - Rank6


#7 Experiences of a failed entrepreneur in the first year of freelancing

After I quit my own company - Moontara Technovations, in July 2013, I started looking for a stable job. I updated my CV & uploaded it to few job sites like Naukri... read more

Top Tweet - Rank7


#8 Picking up a second language: Swift to Python

Swift was a great way to get things started. I had never written a single line of code. A complete programming beginner, it took 13 months to design, self-teach... read more

Top Tweet - Rank8


#9 Structuring CSS in large projects

You’ve probably heard this a 100 times before. The reason is that in CSS everything is global by default. If you’re a C programmer you know... read more

Top Tweet - Rank9


#10 WWDC 2016 spotlight: iOS 10 Animations

Incorporating animations into apps makes for an immersive experience and helps alert the user when there’s something they should pay attention to. In previous... read more

Top Tweet - Rank10


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


Top 10 Development and Design Articles Week #7

Eric Fontaine (@EricFontaine_)

July 06, 2016 Resources

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

#1 Atmo — UI based server side API mocking tool

Most of the web projects are backed by a web server serving the required data through various technologies such as HTTP based Rest APIs, Socket server... read more

Top Tweet - Rank1


#2 24 best UX links to learn design

I believe in lifelong learning. As much as I struggle to balance that with the reality that we have limited time, energy and capacity to keep learning while meeting... read more

Top Tweet - Rank2


#3 You’re the CSS to my HTML

There are developers who have the sole job on working with software designed for the web. Coding for websites uses different languages, and a unique setup... read more

Top Tweet - Rank3


#4 The Anatomy of Autocorrect

Have you ever wondered how your phone corrects your texts on the fly? Or how Google knows you misspelled a word before you do? This is the topic... read more

Top Tweet - Rank4


#5 React Native flat app theme

We’re excited to announce the launch of our new theme, React Native Flat App Theme, a fascinating React Native starter kit with flat UI design... read more

Top Tweet - Rank5


#6 A glimpse of Firebase, with Firebucket

Firebase is a BaaS (Backend As A Service) — aside from the original realtime cloud-hosted NoSQL database, plenty of services have been added, most of them... read more

Top Tweet - Rank6


#7 Inline editing with Angular2

In this tutorial, we are going to create an Angular 2 inline edit component modeled after Angular-xeditable, which was developed for Angular 1. Currently, an Angular 2... read more

Top Tweet - Rank7


#8 Integrating ReactJS with Rails

There is lot of buzz around ReactJS and lot many tech companies started using it in production. Thoughtworks has already adopted and is strongly recommending... read more

Top Tweet - Rank8


#9 Time range operations with Rails

Returning basic time ranges using ActiveSupport methods. How many times you needed to return a specific time range in order to use it on a query? I was used to code... read more

Top Tweet - Rank9


#10 Psst… Time to jack up your dumb chat bot brain using Wit.ai

Facebook Messenger is a platform that reaches over a billion people world wide. Now that Facebook has opened up access to sending and receiving messages many... read more

Top Tweet - Rank10


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


Top 10 Development and Design Articles Week #6

Eric Fontaine (@EricFontaine_)

June 29, 2016 Resources

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

#1 Beautiful UI Inspiration by Dennis Sevryukov

I’m 36 years old Art Director from Ukraine, currently based in Tivat (Montenegro). I love everything to do with Web design and front end development, UI and UX design, prototyping and creating wireframes...read more

Top Tweet - Rank1


#2 New features in GraphQL: Batch, defer, stream, live, and subscribe

This year, I was fortunate enough to be able to attend React Europe in Paris. This is one of the most exciting conferences in the React ecosystem, and has a special...read more

Top Tweet - Rank2


#3 Tech jobs are everywhere

If you were to ask most people “Where would you find the best job in tech?” they would give you a two word answer: Silicon Valley. This sunny patch of land...read more

Top Tweet - Rank3


#4 Swift & Ruby interoperability

For the past years I favored Ruby for developing web applications. Ruby has tons of great frameworks that allows me to quickly develop and deploy for the web...read more

Top Tweet - Rank4


#5 12 books every JavaScript developer should read

I’m a big fan of JavaScript books. Being a long-time learner of JavaScript, I’ve had the pleasure of reading a great many of the popular JavaScript books...read more

Top Tweet - Rank5


#6 The practical guide to becoming a professional Web developer

This article is meant to serve as a practical guide to becoming a professional web developer. I’ve spent over 20 years writing code for the web. I work with...read more

Top Tweet - Rank6


#7 Announcing: React Native Katas

In the beginning, designers used Photoshop or Illustrator to design for digital media, be it Web or Mobile. They then went through a precision-critical task...read more

Top Tweet - Rank7


#8 A mini-course on React Native Flexbox

Warning! This design post does not contain any drawings or diagrams. It’s a different approach, but hang in there — I find that it makes it easier to...read more

Top Tweet - Rank8


#9 Upgrading to the new Angular2 router

When the first release candidate came out, the team behind Angular 2 released a reworked router and deprecated the old one. With the second release candidate they...read more

Top Tweet - Rank9


#10 Android Wear Development for beginners

The development process for Android Wear apps is slightly different from building regular Android apps. This is because the wearable app needs to be embedded into...read more

Top Tweet - Rank10


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


Top 10 Development and Design Articles Week #5

Eric Fontaine (@EricFontaine_)

June 22, 2016 Resources

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

#1 Migrating to PHP7

At busuu, with a user base of 60 millions people, we can serve up to 60,000 HTTP API requests per minute and to do so we have a large fleet of instances hosted on AWS...read more

Top Tweet - Rank1


#2 Why we chose Reactjs despite Angularjs’s popularity

In the fall of 2014 we started developing version 10 of the OutSystems platform. In the beginning we did several POCs to evaluate the performance...read more

Top Tweet - Rank2


#3 Redux explained in 4 simple steps

So in the past few months there is a lot of fuss going on in Javascript community about React and Redux. Everyone is writing their application in React...read more

Top Tweet - Rank3


#4 Mongodb enable authentication (Enable Access Control)

In the context of databases, authentication acquires one more dimension because it may happen at different levels. It may be performed...read more

Top Tweet - Rank4


#5 Animated basic charts in D3 and React

React and D3 are match made in heaven. In this article we will create basic pie, bar, line charts with event driven animation using D3 for visualization...read more

Top Tweet - Rank5


#6 Hydra, a precursor to GraphQL

While my team spent much of 2013 working on core business solutions at HigherEducation.com, a domestic, contract software company spent over a year...read more

Top Tweet - Rank6


#7 Make your sublime setup a bit more React-friendly!

This post is just going to be a quick roundup to make your sublime setup a bit more React-friendly based on my experience. The default Sublime Text JavaScript...read more

Top Tweet - Rank7


#8 Create a simple, free, text-driven Twitterbot with AWS Lambda & Node.js

Have you always wanted to make your very own Twitterbot, but didn’t want to run a server to do so? Using AWS Lambda and very little code, you too...read more

Top Tweet - Rank8


#9 Isomorphic Javascript, let’s make it easier

Ever since the invention of NodeJS people have loved the idea that you could “share” your JavaScript experience across the stack. This (in theory)...read more

Top Tweet - Rank9


#10 Interacting with APIs using React Native fetch

Fetch is a fantastic networking API that was chosen for React Native, but because it is relatively new, there are a few things to be aware of when using...read more

Top Tweet - Rank10


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


Why Unstock decided to outsource video encoding for its mobile-first marketplace for stock-video footage?

Eric Fontaine (@EricFontaine_)

June 21, 2016 Customers

We are so thrilled to announce that Coconut partners with Unstock. UnStock is a mobile-first marketplace for stock-video footage. We believe that the best camera is the one that is always with you. New iPhone changed everything. Everyone can shoot great videos, even with 4k resolution and slow motion. We allow anyone to sell their mobile videos online, on the go - without using desktop platform. At UnStock you can find videographers all around the world, ready to answer our specific footage requests within an hour. UnStock just finished with success AngelPad #10 program in NYC and now is in growth stage.

Unstock


We had the chance to interview Adam Cellary, CTO of Unstock.

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

We needed to take control of video formats that are displayed online on marketplace. Each clip uploaded via web uploader is converted to desired formats and displayed with watermark on our marketplace. Conversion time is crucial, so users don’t have to wait too long for their clips to be ready.

Why did you select Coconut?

We like the pricing and support of all professional codecs (eg. ProRes).

How fast and handy was your integration with Coconut?

It was super easy, with well documented API and web hooks anyone who have minimum experience with working with APIs will do it in no time.


Unstock
Adam CellaryCTO of Unstock
It’s the 3rd project we are running on Coconut.
Integration, customer support and encoding quality are really great!

Top 10 Development and Design Articles Week #4

Eric Fontaine (@EricFontaine_)

June 15, 2016 Resources

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

#1 Passing by Value vs. by Reference

I’ve seen this image shared by many of my friends on social media and it’s such a great way of explaining passing by value vs by reference...read more

Top Tweet - Rank1


#2 Cabin — React & Redux example app — Introduction

Ever wanted to build a photo sharing social network exclusively for cabins? Made with React and Redux? Yes, of course? Well, you have come to the right place...read more

Top Tweet - Rank2


#3 The Black Pixel web stack

Every day there’s a shiny new framework or library that seemingly everyone is talking about. While it can be tempting to adopt the flavour of the month...read more

Top Tweet - Rank3


#4 Combining Arrays in Javascript

Three days ago, I was studying some Array methods. My idea was simple: I wanted a simple concatenation of two Arrays so that I could later use...read more

Top Tweet - Rank4


#5 7 sites to help you focus while programming

There are a multitude of music websites and apps out there specifically designed to help you stay productive, relax your mind and help deal with anxiety...read more

Top Tweet - Rank5


#6 How to use Immutable.js Records with React and Redux

It’s the small things that change your product. React and Flux can be small things, but using them has changed our product like we could never imagined...read more

Top Tweet - Rank6


#7 What makes a good UX designer?

Today I’m going to dive into what is to be a good UX designer. It will be my personal opinion based on my experience and what I learned throughout the years...read more

Top Tweet - Rank7


#8 Siri spilled the beans, Siri is coming to MacOS X!

I have been experimenting with Siri since the official Apple release and prior when it was a stand-alone app from Siri, Inc....read more

Top Tweet - Rank8


#9 Google I/O 2016: what’s new for Android developers

Google I/O 2016 was held in Shoreline Amphitheatre, Mountain View, California on May 18–20. There were a lot of announcements and new stuff...read more

Top Tweet - Rank9


#10 Intro to style guides

In my article 5 steps for a successful website design, I introduced 5 essential steps on how to design a website. In this article, I’m going to dig into...read more

Top Tweet - Rank10


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


Top 10 Development and Design Articles Week #3

Eric Fontaine (@EricFontaine_)

June 07, 2016 Resources

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

#1 18 Amazing open source Angular projects

This is ‘Amazing’ series of collections for programmers. In this observation, we compared nearly 550 projects built with Angular 1.x and Angular 2 to pick the top 18...read more

Top Tweet - Rank1


#2 The simplest way to make a pull-to-refresh and infinite tableview with Reactjs

Pull-to-refresh and pull-to-load-more are extremely common to show data in web, there are so many libraries to make it in React, but there are...read more

Top Tweet - Rank2


#3 React JS — Learning to swim

So its been a few months on from my very first blog entry Front End Dev — Running before you can walk which touched on adopting new Front End...read more

Top Tweet - Rank3


#4 A quick introduction to React

Although it’s easy to roll your eyes at the JavaScript frontier — especially when the next great thing is introduced every week — be careful not...read more

Top Tweet - Rank4


#5 5 things about Python I learned at PyCon 2016

PyCon is the official and the largest gathering of the Python community. I’ve wanted to attend one for the past three years, but this time the stars aligned...read more

Top Tweet - Rank5


#6 22 Amazing open source React projects

This is a collection of open source apps built with React.JS library. In this observation, we compared nearly 800 projects to pick the top 22...read more

Top Tweet - Rank6


#7 How to build a payments microservice with Stripe and Express

Microservices are the new standard in building apps. They give you greater flexibility than a monolith and ensure that the members of your team....read more

Top Tweet - Rank7


#8 Securing your JS apps w/ Stateless CSRF #krakenjs

Hey there! You might have stumbled upon this post because you’re interested in securing your JS apps, or maybe you’ve heard about the other...read more

Top Tweet - Rank8


#9 ES2015 Maps

This article introduces the new ES2015 Map and WeakMap types, and compares their use to that of plain object literals. Maps are data structures that pair keys...read more

Top Tweet - Rank9


#10 Meteor, a framework where the hardest part is coming up with an app name

If you’ve spent nights researching and pouring over new technologies almost as fast as they’re created then you know what it is to be a Javascript...read more

Top Tweet - Rank10


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


API v1 To Be Turned Off on Dec 31, 2016

Bruno Celeste (@brunoceleste)

June 02, 2016 Announcements

We have been working hard for 10 years to provide the best cloud video encoding API out there. On January 08, 2015, we officially released our API v2, the simplest and most powerful API we have ever built.

Today, in order to keep making our service better and offering you an even greater support, we inform you that the API v1 including the Core API, Preview API, HLS API and Robot API will be turned off on Dec 31, 2016.

That is why we strongly advise you to migrate to the API v2 if you haven't done it yet. Here is the link to the documentation.

Do not hesitate to contact us if you need some assistance and don't forget to follow us on Twitter to get the latest updates about Coconut.


Top 10 Development and Design Articles Week #2

Eric Fontaine (@EricFontaine_)

May 31, 2016 Resources

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

#1 A good Nodejs client library to convert video into the Cloud

We let developers spend their time on their application code, not building a brand new encoding system from scratch. We provide client libraries...read more

Top Tweet - Rank1


#2 When Angulars attacks!!!

This weekend, a few colleagues and I got together and participated in the first annual Angular Attack, a 48-hour virtual programming competition...read more

Top Tweet - Rank2


#3 Why I decided to use Meteor & React instead of Rails

I first used Ruby on Rails in its last iteration really interested in the new ActionCable that allows you to use websockets out of the box...read more

Top Tweet - Rank3


#4 Deploying a Meteor app with Nginx from scratch

Just like ways of skinning a cat (whatever that is supposed to mean), there are many ways to deploy a Meteor application. One way is to bundle...read more

Top Tweet - Rank4


#5 We support MPEGDASH! Now, reach a wide range of DASH-compatible & Android devices

The MPEG-DASH or Dynamic Adaptive Streaming over HTTP program allows streaming videos to be played over a variety of different internet connections...read more

Top Tweet - Rank5


#6 GraphQL Selection Sets

Today let’s talk about Selection Sets in GraphQL. What is this you ask? Well to put it in some simple terms, Selection Sets represent the collection of keys...read more

Top Tweet - Rank6


#7 Designing great UIs for progressive web apps

Progressive Web Apps give us an opportunity to reset our expectations and to loudly declare that We Can Do Better when designing user experiences on the web....read more

Top Tweet - Rank7


#8 SuperMeditor live chat for Medium publication contributors

Are you an editor or writer for a Medium publication? Join the conversation with fellow contributors today with SuperMeditor’s Live Chat...read more

Top Tweet - Rank8


#9 Tips for styling your ReactNative apps

It’s not going to be long before your react native app will become convoluted with styles spread all throughout your application. Even though the ability...read more

Top Tweet - Rank9


#10 My process of creating the Arriva web site

Just a while ago I wrote about a cool project I finished for a small start up company called Arriva. I shared the logo design process back then. Today I’ll...read more

Top Tweet - Rank10


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


Press Release: Coconut announces support for MPEG-DASH.

Eric Fontaine (@EricFontaine_)

May 31, 2016 Press

NEW YORK, NY.
June 1, 2016
Coconut Press Release
http://coconut.co/

Coconut Logo

Now companies can reach a wide range of DASH-compatible & Android devices from various constructors like Samsung, Google or Sony.

New York - June 1, 2016 - Today, Coconut, the platform that allows developers and startups to outsource video encoding to the Cloud through a well-designed and very simple API, announced support for MPEG-DASH. The MPEG-DASH or Dynamic Adaptive Streaming over HTTP is an adaptive bitrate streaming technology that enables high quality streaming of video over the Internet delivered from HTTP web servers.


MPEG-DASH allows to optimize video for mobile playback by dynamically adjusting the quality of the video stream to suit the viewer's connection speed, thus delivering the optimum viewing experience every time. Besides, as it is natively supported on Android, MPEG-DASH is definitely the way to go to stream videos over this platform.


MPEG-DASH is similar to Apple's HTTP Live Streaming (HLS) solution. It works by splitting the original video into a sequence of small HTTP-based file segments, then generating a playlist for each segment and finally creating a master playlist including all the segments. Each segment or “chunk” is encoded at different bitrates, so while the video is being played by a DASH-compatible device, the device automatically selects the right segment to download and play back depending on the current network speed.


Coconut makes this powerful technology available for developers and startups with only one line of code.

PR pdf

About Coconut
Coconut (http://coconut.co) has been a pioneer in cloud-based video encoding since 2006, providing a well-designed and powerful API to developers. Coconut enables them to outsource, automate, optimize and design custom video encoding workflow with just a few lines of code. Thousands of companies have used Coconut as their primary cloud encoding engine: Tumblr, Adobe, Sony, Yahoo!, UnrulyMedia, SchoolTube, Edpuzzle, DotSub, MediaPrime, Elly, Webcast-TV, RorMix, Zooppa, Fieldlens and more.


Founded by Web and tech lovers, Coconut’s main goal is to make heavy video-encoding processes a breeze. With Coconut, developers and startups free themselves from the technical constraints involved in delivering online video and can focus all their energy in making their business bigger.

Contact
Eric Fontaine
eric@coconut.co


Simple Formats v2

Bruno Celeste (@brunoceleste)

May 31, 2016 Features

Simple Formats, formerly Dynamic Formats, just got a major update that makes the need to create a format – the old fashioned way – totally useless and deprecated.

Unlike the first version, you can specify any format specs you need, including codecs, bitrates, FPS, sample rate, audio channels and even 2pass encoding option. But don't worry, with Coconut, we like to keep things simple, so 95% of the time, you will just customize the resolution as usual. Keep in mind that all those options are here for users having specific needs!

The syntax changed to support all possible options. However, we will continue to support the old one. You are still advised to update all the formats including v1 and the really old ones created via a form (with integer ID).

So here is the new syntax:

$container:$video_specs:$audio_specs:$format_options

Instead of mixing video and audio settings, we choose to separate them with :. Settings order becomes irrelevant, which is clearer and simpler while making available all possible options.

For example the popular format MP4 720p was written like this in the first version: mp4_720p. Now it's mp4:720p, so as you can see the change is small!

Let's see some more complicated examples to show you all the new possibilities that you couldn't do before:

Simple FormatDescription
mp4:1080p:256kSet the audio bitrate to 256k
mp4:1080p:xDisable the audio track
mp4:720p::2passUse 2pass encoding while keeping the default audio specs
mp4:x:64k_monoMP4 format with audio only at 64kbits and in mono channel
mp4:xDisable the video track while keeping the default audio specs
webm:720p_1400kWebM 720p with video bitrate = 1400kbps
webm:240p_15fps:64kFramerate is set to 15fps and the audio bitrate at 64kbits
webm:1080p:256k_48000hz:2passWebM 1080p with audio bitrate at 256kbits, sample rate at 48000Hz and 2pass encoding enabled
mp4:hevc_1080p_2500k_30fps:256k_48000hzMP4 HEVC with video bitrate at 2500kbits, framerate at 30fps, audio bitrate at 256
mp3:monoMP3 audio only format with mono channel
mp3:22050hz_monoMP3 audio only format with sample rate set to 22050hz and mono channel
aac:256kAAC audio only format at 256kbps
wav:48000hzWAV audio only format with sample rate set to 48000hz


To learn more about Simple Format various options, you can read the full documentation.


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 :)


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 Dynamic 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


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.

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 to outsource video encoding for its woman-oriented content platform Ro Ba Dadonne. 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

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](http://www.ucsbhacks.com/) 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](https://mlh.io/) which supports almost 80 student hackathons throughout North America and the United Kingdom each year.
SB Hacks

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.

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.


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.

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-hls-improvements">HLS improvements</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>

Today, we have added a couple of improvements to our [HLS API](/docs/api/config/hls) 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.


Introducing OpenStack Storage support

Bruno Celeste (@brunoceleste)

June 25, 2014 Features

Today, we are happy to announce the support of OpenStack Storage as a new destination for your encoded videos.

OpenStack 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 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.


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