DASH Live vs OnDemand profiles I've read about dash profiles and from what I understood the difference between live and on-demand profiles are that live furthermore splits each representation into segments (which is critical for live videos, as the video is streamed live, but can also be used to play on demand), while onDemand uses one segment (aka the whole file), and take advantage of the Range HTTP header for "segmented" video loads.

After I've explored some more I read in this link the following:


  The DASH ‘On Demand Profile’ is only used when offline packaging, as
  outlined in Packaging for MPEG-DASH.


So I'm a bit confused about whether this is good for me or not.
Basically, I'm trying to build a VOD application and this is what I currently do:


transcode the video into multiple quality representations in
different resolutions.
use MP4Box to build an MPD file along with the encoded representations.
upload these file into Amazon S3.


I'm able to stream the videos just fine. But the quote I've mentioned just above gives me second thoughts on whether I take the right approach, or I've missed something.

What are the differences between the live profile and the on-demand profile for MPEG-DASH? And by differences, I also mean when would you use either one. 

Any explanation would be helpful, thanks!
I know this is an old topic but wanted to answer in case someone else is having the same question.
In general, you can use both the Live and On-Demand DASH profiles for VoD content, for live content you need to use the Live profile. The difference would be that if you have a 1:30 hrs VoD file if you are distributing it using DASH Live Profile you will have a long manifest file with a big segment timeline list and a lot of mp4 (90 * 3600/{segment duration}) segments while if you are using the On-Demand profile you end up having a much shorter manifest file and a single mp4 file.
In the case of Live profile, the player would need to download the segments, while with On-Demand profile it would simply send HTTP byte-range requests to the CDN to target a particular time in the content.
Of course, this would result also in a lower CDN load, because in DASH Live profile, the player would need to download all the segments to play the video, meaning that it would need to download the same mp4 header for each segment.
If you are willing to optimize the content delivery, I strongly recommend adopting On-Demand DASH profile.