Upcoming Industry Conferences
Streaming Forum [28 February - 1 March 2017]
Streaming Media East 2017 [16-17 May 2017]
Live Streaming Summit [16-17 May 2017]
Streaming Media West 2016 [2-3 November 2017]
Live Streaming Summit [2-3 November 2017]
Past Conferences

Review: Bitcodin, a Cloud Video Encoding Service From Bitmovin
While Bitcodin is still in development and has a few rough edges, it displayed impressive performance and quality in our testing.
Learn more about the companies mentioned in this article in the Sourcebook:

Bitcodin is a cloud encoder in advanced beta, and actually in use by a large Austrian distributor of feature films (see the sidebar on Flimmit at the end of this review). Though it’s not yet a finished product, the pieces are coming together nicely, and over the next few months Bitcodin should mature into a highly usable and very solidly performing service.

Bitcodin is a service of Bitmovin GmbH (Figure 1), an Austrian company best known for developing the Bitdash MPEG-DASH client, which deploys adaptive files in DASH (Dynamic Adaptive Streaming over HTTP) and HLS (HTTP Live Streaming) to distribute to computers, notebooks, mobile devices, and other players. Though any company, Bitdash licensee or not, can use Bitcodin, the only two output formats currently supported are DASH and HLS. The ability to output MP4 files is, however, planned for a future release, as is Smooth Streaming support. It will ultimately support both live and VOD transcoding, but I only tested VOD. Note that Bitcodin supports only WebVTT captions and no DRM, though the company will support the Encrypted Media Extensions in a few months.

Figure 1. The bitmovin product offering and value proposition at a glance 

Driving Bitcodin

There are three ways to access the encoding service: a web-based user interface, a public API, and a backend API that’s available to more advanced customers. The user interface uses a jobs-based paradigm, as does the public API, so I’ll describe that in this review. Briefly, a job has three components: an input, an output, and an encoding profile.

Inputs are your source files, which Bitmovin can retrieve from all inputs accessible via http/ https, as well as ftp/sftp, and from Dropbox. Live inputs can be RTP via TCP, RTMP, or HLS. Outputs are your destinations, and these can be FTP, Amazon S3, and Google Cloud Storage, but not Azure at this time. Outputs are only necessary if you use one of the two APIs; if you encode with the user interface, Bitcodin stores the files on the site until you download them.

Profiles are sets of encoding parameters, all of which output H.264 video encoded with x264, and AAC audio. Customers get four presets with the service, and you can customize these or create your own. The encoding parameters you can choose via the UI and public API are very limited, as shown in Figure 2 on page 110. You can set resolution, aspect ratio, bitrate, and profile, then choose a quality level. Standard, Professional, and Premium are the three quality levels, and these map to the fast, medium, and slow x264 encoding settings, all using single-pass encoding. While these affect encoding speed, there is no difference in pricing. As you’ll read about in the sidebar on Flimmit, you can access the full range of x264 encoding options in the private API.

Figure 2. Creating a profile in the bitcodin UI 

A wizard in the user interface simplifies job creation; you choose the input file, the profile, and the manifest type, and then you’re off. The public API is similarly simple. In terms of manifest type, as shown in Figure 3, MPEG-DASH is required while Apple HLS is optional, though the company plans to allow users to generate only HLS in the near term.

Figure 3. This wizard simplifies creating jobs in the user interface. 


While Encoding.com and HeyWatch charge for VOD content based on combined volume of input and output, Bitcodin charges for encoded output alone. This complicates comparative pricing because it depends upon the format and data rate of your inputs and the number of outputs in your preset. For example, at Bitcodin’s lowest commitment level, you pay about $4 per GB of encoded content, roughly twice the cost for Encoding.com and HeyWatch.

As long as the size of the input roughly equals the output size, pricing is similar all around. As an example, Bitcodin’s FullHD profile includes five file iterations with a combined output data rate of about 30Mbps. If your input file size is also 30Mbps, which is reasonable for a 1080p mezzanine file, pricing for all services is similar. If you upload ProRes, however, Bitcodin would be much less expensive; if you upload 10Mbps 1080p mezzanine files, Bitcodin would be more expensive.

Pricing for live transcoding depends upon the number of streams and starts at $30/hour for four streams. Zencoder charges $10/hour for the first 50 hours, then drops to $7 for the next 450, but this is on a per-stream basis, and includes the input stream. So you need to know your target stream count before making any live pricing comparison.

Performance and Quality

The makers of Bitcodin aren’t shy about piling on the superlatives when it comes to describing the service, claiming the “highest transcoding scalability, performance and quality on the market.” Since transcoding scalability is impossible to test without incurring massive fees at competitive sites, I decided to focus on performance and quality, and it turned out that Bitcodin had some reason to crow, at least when compared to Amazon’s Elastic Transcoder.

For example, I encoded a 56-minute XDCAM file to five similarly configured presets with Bitcodin and Elastic Transcoder. Complete encoding took 7:10 (min:sec) with Bitcodin, while the Amazon tool took 26:19. A 3:10 test file encoded to the same presets took 57 seconds with Bitmovin and 1:56 for Amazon. Since both technologies used single-pass encoding, the comparison was apples to apples.

Quality comparisons were a bit tougher. I tried to use the Moscow University Video Quality Measurement Tool to compare Bitcodin’s quality with Amazon, but Bitcodin dropped a frame or two in all files that I tried to compare. This wouldn’t be noticeable during real-time playback, and it might relate to the fact that Bitcodin was converting 29.97 fps input to 30 fps output. I couldn’t prevent it because frame rate wasn’t selectable via the user interface. The net result was that I couldn’t use objective comparisons, though in subjective comparisons between Bitcodin and Amazon, the quality was very similar, which wasn’t surprising given that both companies use x264.

Related Articles
Two years from its formation, Austrian startup Bitmovin will grow its product line and expand in Europe and the U.S. with seed funding.
Customers can demo the DASH players online and even use a free trial version on any noncommercial website.
The benefits of per-title optimization aren't just for the major players, anymore. Streaming Media reviews the first solution for smaller content owners and finds the results promising.
Patchwork video workflows happen when companies add solutions from different providers, and they can seriously hamper quality and development.