Q:

What type of service to use for video hosting in an android app? 

I am currently working on an android application for a start-up business. 
Part of my android app provides viewing and download of video files similar to a podcast app, having both by-network viewing as well local storage capabilities for offline viewing.  
However, I need to acquire a service/server that provides the hosting and public sharing capabilities that this process requires. 
The usage type is pretty simple.  I need to host the videos (of which there are not a considerably large amount) somehow, and somehow access them through direct link in my app. 
What kinds of business solution would best serve this type of arrangement? 
I've looked into Amazon S3, Microsoft Azure, Rackspace and B2 and these seem like the ideal solutions, but I'm not clear as to whether these are commonly used for such purposes.  In addition, Backend as a Service platforms like Kinvey and Parse exist, as well as Vzaar, a video hosting business solution. 
With so many different systems and unclear use cases it's hard to tell what would be most cost-effective. 
What type of system is common practice to use for this type of arrangement? 
Do I need a BaaS, a PaaS, or a CDN?  Or would something like Amazon S3 work for this arrangement?  Or would it be better of trying to find a way to host these videos through the company Wix website? 
I'm not necessarily looking for a "use this" type answer, but more I need the right direction to compare and contrast services. 
Note: This isn't a strictly programming question, rather an implementation one.  I wasn't sure where on SO to place this, given that many similar questions exist concerning implementation and use of these types of services on the main SO. 

A:

Hosting and serving videos is quite a specialist domain - the files are large typically, and most decent video streaming servers will include mechanisms to adjust to quality level depending on the bandwidth available to the client. 
The technique used to do this is called adaptive bit rate streaming - essentially multiple different quality levels copies of the video are created and broken into, for example, 10 second chunks.  The client requests the video one chunk at a time and can switch between quality levels, and hence size, depending on the current network conditions.  Hopefully, this give some feel for the complexity levels. 
Because of this, you are often best using a dedicated streaming server - you can either set one up yourself or use a hosted service. 
Examples, free and commercial, of streaming servers you can host yourself:

https://www.wowza.com
https://gstreamer.freedesktop.org

And examples of hosted video servers (there are many more...):

https://vimeo.com/
http://wistia.com/

A:

First of all let's be clear: I work at vzaar, so I have both personal experience and bias.  Make of that what you will.  
Above all else I'd encourage trying the various SaaS options out - almost all of them have a free trial and there should be people on hand to answer any questions then and there.  
In the application you're describing, we'd effectively fill the role of both a storage and CDN provider, giving you file hosting space and CDN backed global delivery without the need to set up and manage those aspects yourself. 
Another function that's often not considered is video encoding.  If your videos are already small, efficient, widely compatible files then that's great.  If not, a SaaS platform will generally encode them for you.  In the long run this can save huge amounts on both storage and bandwidth costs as well as ensuring the best possible device compatibility.  
Most vzaar users are using our built in player embedded into their web page via an iFrame.  This works fine in many cases, but for apps like you're describing we mostly see people use the video asset links we provide: simple URLs for the video file as well as thumbnails and the like.  Backed by a REST API this provides quite a bit of flexibility.  
All in all, a SaaS platform is a pretty common approach for the type of thing you're talking about and I'd strongly recommend giving those that interest you a spin.  Of course, if you have any questions about vzaar specifically we're more than happy to answer them over at https://vzaar.com/contact/. 

