1

I uploaded a 15MB mp4 file and chose the "Playback via HTML5" option for encoding. It created a new mp4 file that is now 158MB! This is 10x larger in size, why does this happen? In fact, every encoding preset that I choose makes the file size much larger than the original 15MB for the source mp4 file. I need to deliver the video to PC clients that have low bandwidth, so having the file size increase to this magnitude is counter productive. Any advice or insight is really appreciated.

Brandon Spilove
  • 1,529
  • 1
  • 10
  • 15
  • If you can describe your needs in more detail, I might be able to make some more detailed suggestions for a suitable solution. – Sander Nov 24 '14 at 06:50

1 Answers1

1

Your original input file was almost certainly encoded with very low quality settings. The "Playback via HTML5" preset is a very high quality level because with the previous-generation "HTML5 streaming" technology you can only present one quality level to users so the Microsoft presets make this a fairly good quality level (720p @ 4500 Kbps).

Generally, for streaming over the internet to end-users in the 1st world, I would use an adaptive streaming format (e.g. DASH) with the following quality levels:

  • 288p @ 400 Kbps
  • 360p @ 900 Kbps
  • 480p @ 1500 Kbps
  • 720p @ 3000 Kbps
  • 1080p @ 6000 Kbps

If we ignore audio entirely and compare against your 15 MB input file, even the lowest of these settings (at quite atrocious quality) would encode only 5 minutes of video with the highest quality level encoding only 20 seconds!

If you wish to provide the best end-user experience, you should use an adaptive streaming technology such as DASH. This will enable you to serve each user with a quality level that their network connection can best cope with. The dash.js player is capable of playing such videos in modern browsers.

Alternatively, you can provide custom presets to Azure Media Services to encode videos for a lower quality level.

Sander
  • 25,685
  • 3
  • 53
  • 85
  • Thanks for the reply. It might help to explain that the source video is an animated illustration with vector graphics. It's not full motion video like from a video camera or anything. I need it to play on IE8 as well as modern browsers. So I am using a flash player to play the video. I don't think dash.js is an option, it looks like that only works on modern browsers. The source video is 1280x720 and it is 4 min 47 seconds long. The total bitrate is 441 kbps and the frame rate is 24 frames / sec. The audio bitrate is 160kbps. Can you suggest the encoding settings I should use? – Brandon Spilove Nov 24 '14 at 15:24
  • Yes, you are right about legacy browser support. I have not worked with animated illustrations before so I have no standard presets that I can share for such situations. However, I imagine making a custom Azure Media Encoder preset with the same settings as your video currently uses would be a good starting point. – Sander Nov 25 '14 at 08:16