The HW Blog

Want to be updated? @HeyWatch | Feed

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

Eric Fontaine (@EricFontaine_)

September 16, 2014 Customers

We are so happy to announce that HeyWatch 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 HeyWatch?

We have tried a couple of different companies for our encoding process but HeyWatch 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 HeyWatch, 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 HeyWatch, we can deliver that to them.

How fast and handy was your integration with HeyWatch?

Our integration with HeyWatch was seamless. We had a legacy encoding system that we wanted to port to HeyWatch and it didn’t take us longer than a couple of hours. Besides that, with the quick help from the HeyWatch 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.

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

Adding watermark support to the HLS API

Bruno Celeste (@sadikzzz)

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!

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 =
watermark_position = bottomright
output_url = s3://...@bucket/video/

Read more info about watermarking your videos here.

Famipix selects heyWatch to outsource video encoding for its sharing platform

Eric Fontaine (@EricFontaine_)

September 09, 2014 Customers

We are so excited to announce that HeyWatch 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.


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 HeyWatch?

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

How fast and handy was your integration with HeyWatch?

The HeyWatch integration was a pleasure to integrate!

My development team was able to get up and running quickly with the transparant and well constructed HeyWatch 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.
Nathan SkwortsowFounder of Famipix

Bulb selects heyWatch to outsource video encoding for its publishing platform

Eric Fontaine (@EricFontaine_)

July 08, 2014 Customers

We are so happy to announce that HeyWatch 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.


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 HeyWatch and, based on the price, we realized it would be cheaper to integrate with HeyWatch, 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 HeyWatch?

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

How fast and handy was your integration with HeyWatch?

Since we already had our own solution, it was relatively fast to switch our integration over to HeyWatch. The APIs are relatively simple and intuitive. At the time, Heywatch 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.

HeyWatch 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.
David AndersonCTO at Bulb

Fotolia selects HeyWatch to outsource video encoding for its video marketplace

Eric Fontaine (@EricFontaine_)

July 04, 2014 Customers

We are so pleased to announce that HeyWatch 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.


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 HeyWatch?

Heywatch 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 HeyWatch?

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

Fotolia has been using HeyWatch 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.
Ludovic LevesqueCTO at Fotolia

Rormix selects HeyWatch 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.


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

HeyWatch 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.
Amman AhmedFounder at Rormix

Introducing OpenStack Storage support

Bruno Celeste (@sadikzzz)

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 HeyWatch. We created a new output URL scheme for that purpose:


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

HLS improvements

Bruno Celeste (@sadikzzz)

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.

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

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.

New option to start encoding at a given offset

Bruno Celeste (@sadikzzz)

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:

video_id = ${get:video::id}
format_id = mp4
offset = 60
duration = 10
output_url = s3://....

You can view the complete list of our encoding options here.

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

Bruno Celeste (@sadikzzz)

May 27, 2014 Features

We are thrilled to announce new features for the Control Panel that will help a lot with your HeyWatch 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 HeyWatch is the ping notification we send to you when specific events occur. Services like 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 HeyWatch 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 (@sadikzzz)

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. Even if the Robot API makes this kind of task super easy, it's still another API call.

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": "",
    "thumbnails": {
      "small": "",
      "medium": "",
      "large": ""
  "url": "",
  "link": "",
  "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 HeyWatch 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 HeyWatch 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 (@sadikzzz)

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:


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

$ heywatch 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:

$ heywatch 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.

Other posts