Order Now AdSolution Sign Up | Login » Bits on the Run Sign Up | Login »

Forums

/

2-Pass Encoding and H.264 Main Profile

14 replies [Last post]
Reply

I'm evaluating the free Bits on the Run service, and noticed that the transcoding options seem pretty limited. For instance, I would like to use 2-pass encoding and the H.264 Main profile. Are these available somehow? If not, what is the reasoning behind that decision?

Thanks,
Josh

Reply

I'm afraid neither are possible. The main reason for not choosing Main is that Main will not word on all devices.

We only use single pass because we use constant quality encoding rather than target bitrates, and for constant quality encoding using a single pass is less of an issue.

Reply

Sure, Main doesn't work on all devices, but doesn't the player detect the device anyways, so it can serve the proper video? Couldn't this allow serving Baseline to mobile devices while allowing Main for computers/STBs? I'm excited about the possibility of a Boxee app, but concerned about quality on big screens. I don't like having to sacrifice my big-screen quality in order to cater to the limitations of the smallest of screens when we should be able to effectively serve both.

Forcing Baseline removes a lot of quality and efficiency features that make the H.264 codec so great. B-frames, CABAC entropy... these are things that add a lot to overall quality at a given bitrate but are unavailable in the Baseline profile.

All things considered, you guys have put together a great service, but I'm approaching this as a potential reseller, and would like to be able to pitch the best compression techniques and quality to my clients since video quality will have one of the biggest impacts on the end user.

Adding insult to injury, here, is the fact that I would not even be able to encode videos at the desired bitrates and settings, and upload them to the platform to be used for adaptive-bitrate streaming. It looks like I could only serve a single bitrate if I wanted to encode it myself.

As to the Constant Quality vs. 2-pass encoding at target bitrates, what is the reasoning behind that? It's a step up from normal CBR, but still not as good as 2-pass. Is it simply that it won't justify the additional encode time when using the Baseline profile?

Suggestion... Could the reseller accounts allow setting up more detailed configurations for the transcoding profiles in the client accounts, and allow enabling custom combinations of pre-encoded files to work together in the system for adaptive streaming? This places the burden on the reseller to properly set up, test and support these features for their clients, while allowing some "expert" functionality to the platform for advanced users.

I understand the approach of favoring a simpler interface to avoid confusing casual users, but more advanced users and resellers would certainly appreciate and benefit from greater flexibility in this area, particularly since x264 is such a great, full-featured codec.

Sorry for the rant... It's well-intended, though :). I hope this is considered constructive and helpful as you guys continue to develop this product.

Josh

Reply

Simply said there are a number of considerations:

1. We don't want to give people enough rope to hang themselves.
2. As an extension from 1: once people have hung themselves it takes a ton of support work to tell people to not push the wrong buttons
3. Encoding is a very expensive process from a hardware p.o.v. and 2-pass main would mean that we would have to buy triple the amount of machines that we have right now probably.
4. It is very easy to mess up encoding settings sufficiently to make a transcoding a single video take a day instead of 15 minutes.

We don't allow for pre-encoding multiple levels because for almost all users this would be way too complicated, and this is far from trivial to implement.

You can create a reasonable (Vimeo-like) experience though if you set the passthrough conversion underneath the HD button. That way you could use a 480px or a 720 px wide conversion as the SD conversion and the original as the HD conversion.

Reply

Also, last but not least, Flash isn't particularly efficient at decoding H.264, so there is a much bigger chance that video gets jerkier when H.264 Main is used.

Reply

I appreciate your quick, straightforward response. I certainly understand the concerns you've stated, and respect that you have to make the best decisions for your customers.

As an alternative, I thought I had read somewhere about an encoding.com plugin for BOTR, although I can't find it now. Would this allow for the additional flexibility and features, while offloading the additional processing burden and charging me directly for the costs? Does such a plugin still exist?

Reply

As far as I am aware no such thing exists, although at some point we might have had some instructions floating around on how to upload directly from encoding.com (but that wouldn't have been more than enter the Bits on the Run FTP server with your credentials in some encoding.com dashboard; there has never been any level of deep integration.

Reply

We were discussing the H.264 issue a bit more internally today, and the main reason why we initially decided to revert from offering a H.264 Main option altogether was because at that point (before Flash Player 10.1), Flash H.264 decoding performance was simply horrific, but since 10.1 introduced hardware acceleration, this has become much more acceptable (and similarly iPads, iPhone 4+ etc. can handle H.264 Main just fine these days).

That means that Main is a much more attractive proposition these days and we will start development work on it very soon, although I can't make any firm promise on when this will be implemented.

Reply

Hello,

I read this with interest as I've always used high profile for computer playback and baseline versions for mobile playback when encoding my own files. The quality difference, particularly at low bitrates, is huge.

I agree offering baseline, main and high could get complicated, but would be great to have main available at for non-mobile resolutions.

Please keep us up to date with any decisions!

Thanks,
Dave

Reply

Hello,

Just wondering if any news on moving to the Main profile and / or adding 2 pass encoding?

Many thanks,

Dave

Reply

We have been testing a new set of parameters, and should be able to release something in a month or so, once we have figured out some final compatibility issues with some files.

What we'll do essentially is that we will use Baseline for smaller width video (up to 640 px), Main for 641 <=> 1280 px wide and High for everything wider than 1280 px.

We are not going to use 2-pass encoding. We have seen that our new parameters improve filesizes significantly though, especially for screencasts etc.

Reply

Many thanks Remco. That sounds great. Can I ask why baseline would be used for 640 x 360 though? It's obviously one of the most common sizes so would be good to have the main profile for that, while using baseline for lower resolutions that would go to mobiles.

Reply

We still use baseline for main because most older devices only support baseline but can handle 640 px wide video. By default we create templates at widths of 320, 480, 720, and 1280 px.

Reply

I see you annouced Main for videos greater than 640 today (http://www.longtailvideo.com/support/message/bitsontherun/26215/improved-video-quality), two questions:

1. I assume we have to re-encode all existing video, that this won't be done transparently and retroactively. If we do have to re-encode, do we need to create new encoding profiles as well? Or just remove the existing encodings on each video and re-encode with the profiles that already exist on our account at those dimensions.

2. Is high support still coming for video > 1280px?

Reply

1. This is not done retroactively for all videos because this would require more resources that we can afford. The stepping is applied to all templates though.

2. It is already here. Given that we still use main for 720p (because up to the most recent generation of Apple TV's and iPads for example only supported Main@720p) High will in practice only get used if you create a 1920px template.

Post new comment

  • Allowed HTML tags: <code> <blockquote> <em> <strong> <strike> <ul> <li> <ol>
  • You may post code using <code>...</code> .
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options