Wowza Community

ABR for VOD

Hi wowza support team,

As far my knowledge goes regarding wowza, it supports abr for live streams using transcoder but it’s not supported in case of VOD. Now if wowza has an on the fly transcoder, why it is not possible to transcode vod streams and provide abr.

Is there anything that we can do to enable this through wowza. Any custom module will do as well.

Hello there and welcome to the Wowza support forum.

Video on Demand ABR is supported in Wowza. You will need multiple renditions(copies of the video at alternate bit-rates) that are key frame aligned.

This guide will walk you through setting up ABR for VOD:

How to do adaptive bitrate streaming

To achieve key frame alignment you can use ffmpeg. However, encoding keyframe aligned renditions with ffmpeg has been known to be problematic and unreliable.

However, I did come across a forum contribution that showed a successful approach for generating key frame aligned multi-bitrate rendition for VOD with ffmpeg by doing multiple passes. This was done on Linux and I have not tested. It may not work on other platforms.

ffmpeg -y -i bigbuckbunny_1500.mp4 -c:a libfaac -ac 2 -ab 64k -c:v libx264 -preset:v veryfast -threads 0 -r 24 -g 48 -keyint_min 48 -sc_threshold 0 -x264opts no-mbtree:bframes=1 -pass 1 -b:v 286k -s 384x216 bigbuck-350k.mp4
ffmpeg -y -i bigbuckbunny_1500.mp4 -c:a libfaac -ac 2 -ab 64k -c:v libx264 -preset:v fast -threads 0 -r 24 -g 48 -keyint_min 48 -sc_threshold 0 -x264opts no-mbtree:bframes=1 -pass 2 -b:v 286k -s 384x216 bigbuck-350k.mp4
ffmpeg -y -i bigbuckbunny_1500.mp4 -c:a libfaac -ac 2 -ab 64k -c:v libx264 -preset:v fast -threads 0 -r 24 -g 48 -keyint_min 48 -sc_threshold 0 -x264opts no-mbtree:bframes=1 -pass 2 -b:v 836k -s 640x360 bigbuck-900k.mp4

You may also find this guide helpful:

How to encode video on demand content

Another option would be to use the static video as the source for a live stream and use the Wowza Transcoder to generate the key frame aligned renditions for you.

How to do basic server-side publishing with Stream class streams

Once you have the live stream, to do live ABR streaming you would send a source stream to the Wowza Transcoder and transrate the single stream into an ABR set.

This article provides more details about using Wowza Transcoder for live streams:

How to set up and run Wowza Transcoder AddOn for live streaming

I hope this answers your question.

Regards,

Salvadore

Please see my comments here regarding your last question.

Regards,

Salvadore

Thanks Salvadore for the information, though what I was looking for is something else. I was not able to update the title of the thread… Kindly check that post.

Dyanmic ABR for VOD keeping a single file in storage path