2

I am working on a system that stores video uploads on Amazon S3. The videos are uploaded by numerous clients and we don't have any control over what they may choose to upload. We are displaying the videos on various devices and operating systems (Windows / Mac / desktop / tablet / mobile).

Apparently there are numerous issues with .mov files due to the large array of codecs available (some of these codecs potentially being proprietary as well, having licencing issues, etc.).

We are weighing up our options of whether to use Amazon's elastic transcoder to generate HTML5 video tag compatible versions of all videos uploaded and to then use HTML5 compliant video tag markup to play these, or whether to continue using JW Player with whatever file is uploaded by the user. I have tested one of the existing .mov uploads with JW Player on an iPad and it worked fine, but I'm not sure if this will always be okay or whether the codec used may result in an error. Does anyone know if this is an issue or not? If it is an issue, will we experience the same issue when using Amazon's elastic transcoder? Any advice and insights on this will be greatly appreciated.

John Rotenstein
  • 241,921
  • 22
  • 380
  • 470
  • 1
    Don't know about the Amazon transcoder, but just remember that if you go to a straight – MisterNeutron Oct 06 '14 at 13:38
  • So if I wanted to support the flash fallback, would I then need to use something like Amazon's elastic transcoder to generate an .mp4 and an .flv to make sure that all my bases are covered? (I am under the assumption that the flash fallback will only play .flv files.) – andrewjackson123 Oct 06 '14 at 14:32
  • 1
    No. You don't need FLV for anything, under any circumstances. Just provide a properly-encoded MP4. JW Player will use native HTML5 video to play it if the browser supports it, and will use Flash to play it if the browser can't handle HTML5 video. One file covers all the bases. – MisterNeutron Oct 06 '14 at 14:45
  • Thanks @MisterNeutron. That makes a lot more sense now. Much appreciated. If you want, you can pop that into an answer and I'll mark it as the accepted answer. – andrewjackson123 Oct 06 '14 at 15:06
  • I'm hoping someone who's familiar with the Amazon transcoder will check in - I've never touched it, and don't know whether it "does MP4 right." For proper encoding, I use Handbrake (http://handbrake.fr/), but that's purely a desktop application, so it wouldn't be suitable for your situation. – MisterNeutron Oct 06 '14 at 15:14
  • I don't have any experience with Amazon Transcoder, but do you have an example video that failed? We could take a look at it. One good tool is MediaInfo, you can inspect a working file vs a non working file to examine the differences. – emaxsaun Oct 06 '14 at 15:21
  • Hi @EthanJWPlayer, we don't have any particular files that are an issue as yet (or at least none that we're aware of). It was more something that was highlighted as a potential issue so I'm doing some research to make sure we make an informed decision moving forward. One of my personal misunderstandings was that flash player only played .flv files. I'm glad that I now know this assumption was incorrect :) I'll keep MediaInfo in mind if something does crop up in the future. Thanks for that. – andrewjackson123 Oct 06 '14 at 15:45
  • Ah, got it, I see :) – emaxsaun Oct 06 '14 at 19:16

1 Answers1

2

As long as you don't need to get the benefits of Adaptive Bitrate formats such as HLS or Smooth, you can go with mp4 format which will give you wide compatibility for playback across devices and platforms. This means that your users will be getting "progressive download" experience, which works for shorter videos, and that you will not benefit from the potential bandwidth savings and lower buffering user experience that adaptive bitrates bring.

You may still choose to use a 3rd party media player such as JWPlayer or FlowPlayer as they provide additional benefits on top of the basic video tags.

The benefit of building transcoding into your workflow (and that can be done using a 3rd party SaaS offering such as the one you mentioned in the question, or a DIY solution), is that you can better control the playback experience since you take control of the format and the bitrate/resolution that you want your users to access.

You will be improving the compatibility at playback time, since some of the submitted formats may not play under video tags nor under a 3rd party player, but when transcoding them into MP4 you are solving that problem. In addition, the resolution/bitrate of the input videos may be too high for some users, and by lowering the bitrate you will be improving on the playback experience over slow networks or underpowered CPUs. Notice that when transcoding, you may choose to create several outputs at different bitrates for the same input file, giving your users the option to choose (if not done automatically) what quality they wish play so it fits their bandwidth conditions.

csmba
  • 4,053
  • 3
  • 32
  • 42