Hosting and streaming video to an ios app - ios

I am about to build an app that initially displays thumbnails of high quality videos. When users click on a thumbnail, they will go through iOS's in-app payment system to pay for the video and once that is complete, the video will open and start playing in Quicktime(iphones native video player).
Can you please suggest where i should host my videos? Does apple provide video uploads as well or is there a simple to use tool that allows this? I am looking for a service that will let me upload or delete high quality videos whenever needed so that non tech people can administer too. Then i can easily just link those videos to my app.
Thanks in advance

Depends on format if its just progressive download mp4 you could contract with any of the hosting companies, they start at 5.00 - 100 dollars monthly depending on what you need. the higher priced ones offer dedicated servers that can run .net or php, you could take a service for instance that hosts at 5.00 a month,, right a simple php app that does the security or get a pre-built one.
If you want to do real streaming using HLS then you need a server that can support it, one though a bit expensive is wowzma, prices vary but it is usually quite expensive.

Related

How to upload video chunks to server and download them in real time in iOS

I'm creating an iOS app where I want a user to be able to live stream a video, however, users who join the live stream after it starts, start watching the stream from the beginning instead of live (I will also add functionality that allows the user watching to skip ahead and then be able to watch live).
I have looked at many third party streaming options such as Agora, Twilio, Vimeo, etc, however, I don't believe they meet my needs as I need users who join the live stream to start watching from the beginning and not live.
I have explored continuously uploading small video chunks to something like firebase storage, and then continuously reading those chunks for users watching the stream. However, as explained here: https://stackoverflow.com/a/37870706/13731318 , this is to very efficient and leads to a substantial lag.
Does anyone have any idea how to go about doing this that leverages third parties?
I think you can use the HLS protocol to implement this.
HLS allows starting to watch from the beginning or not. That is controlled by the settings.
I am not sure about uploading because I think it has to be implemented on the server-side more.

Store videos for an iOS app online or offline?

I am currently working on an iOS app where users can watch several videos (e.g. fitness videos). The videos are all captured by my team, so I don't need access to external videos.
Now my question is, does it make more sense to store the video files offline right in the app or use some kind of online server (and which one would you recommend)? I don't want to embed Youtube videos.
Thanks in advance!
It is always better to go online. Because the size of video may vary and huge video files would scrap user device's memory. SO it is recommended to use an external server to host the video files.
You can also add an option to download the files if needed.

iOS requirement for live steaming

I'm working on the live streaming app like Periscope and doing research on requirement and restriction on iOS.
I found out that Apple only allows HLS (Http Live Streaming) for certain conditions. I found such conditions below from apple site.
If your app delivers video over cellular networks, and the video exceeds either 10 minutes duration or 5 MB of data in a five minute period, you are required to use HTTP Live Streaming.(https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html#//apple_ref/doc/uid/TP40008332-CH102-SW5)
But I'm not sure that HLS should be used for both publishing and watching video or only for watching is acceptable? Because i thinking of using RTMP for publishing and HLS for watching.
I wrote an app similar to periscope that is on the app store now and it can use 2Mbps and connects via RTMP protocol to send the data. So my guess is they no longer enforce it. I also beleive that at the time that that was written cell service load was possibly to high and they were hoping that HLS would help with that would be my guess. Now with 4gLTE it can handle the loads a little better. Again that is just a guess. My app went up with no problem or mention of that and the review team was more than aware what the app did.

Cloud-based automatic new youtube upload download to dropbox

Basically what I'm trying to achieve is:
-whenever a new video is posted on my channel, trigger a zap/ifttt to download it to dropbox in mp4 for backup purpose, added bonus - extract audio to mp3.
I want to do it automatically and on a free remote service, not my PC or VPS. I know it all this could easily be done locally, but I want an independent solution for a number of reasons.
The problem is, youtube api prohibits video download.
So far I have investigated web-based downloaders, but couldn't figure a way to automatically get a download link without visiting the website. cloudconvert doesn't support direct youtube download.
The closest thing I found is a web-fork of youtube-dl that allows it to run on owncloud, but I'm failing to find a free owncloud provider that allows user apps.
There should not be more than 3 short channel uploads a day, so performance and delays are not much of an issue, I'm happy to wait up to a day for the download to commence.
Any help much appreciated.
One step of the process is probably using offcloud, which can fetch your youtube video and store it on a cloud storage, such as google drive, ftp, etc. It has API

Playing youtube videos with progressive downloading

My application has a custom video player which should be played with youtube links (just to save me the hassle and money from making my own server side and stream videos from there).
Here are some facts that I believe are true:
Youtube prohibits any use of custom players except UIWebView and MPMoviePlayerController.
Youtube doesn't share rtsp links for iOS devices, so I'm left with progressive downloading.
Apple clearly states in the documentation that progressive downloading is possible only for small clips (under 10 minutes or 5MB/5min ratio).
I've downloaded the application 'iTube' which allows you to watch youtube links with playlist control in the device. I was wondering how did they make it work for them. The app obviously uses progressive download as it downloaded 30MB after I've watched ~1 minute of the video (over 3G).
Question: Does Apple allow applications to break the policy of progressive download when youtube links are involved (because youtube doesn't offer any alternative)? or is this application just went under Apple's radar?
Thank you
OK as it turns out, this application just slipped under Apple's radar.
I've asked this question in the developer's forum and got the answer from one of Apple's employees:
You would have to disable downloading over cellular if the clip is over 10 minutes.
I'll forward this to the app review people.
The question I've asked is here: https://devforums.apple.com/message/966814#966814
(You need developer account to get in there)
Thanks all
If your video longer than 10 minutes, you need to use HLS streaming for your apps. For example you can upload your videos to http://int10h.com get HLS link and stream. Good luck

Resources