What is Apple's policy for iOS regarding inline video players? - ios

There's a confusing situation in which all browsers for iPhone (but not all iOS, such as iPad) feature forced video playback which deviates from W3C standards, severely inhibiting the developer's ability to create any web apps which combine video with interface to support iPhone devices. All browsers on all iPhones force this same full-screen video player.
Since I'm sure Google would not choose to deviate from W3C standards (along with every other browser developer), forcing videos to be played in full screen if it wasnt being forced to do so by Apple, I'm curious to know: What is Apple's policy exactly which causes all iPhone browsers to use its native full-screen-only video player, when inline video is clearly possible on the iPhone as seen in the YouTube app?
What's stopping Google from introducing it's own W3C compliant HTML5 video player in the iPhone Chrome browser rather than Apple's native non W3C compliant video player?
I want to support mobile (obviously including iPhone) with my web app, but it requires inline video (where an interface overlays the video for the user to interact with while the video plays). Does Apple tell developers "any web browser must use our native fullscreen video player" but any app can use whatever video playing format they want, such as YouTube? What if I put my web app in a wrapper to supply it as a native app? Would the wrapper for the HTML5 app be considered a web browser by Apple and be forced to use their native player? What exactly is the policy on this?
Additional info: Apple has even made it impossible to use a video player as the source for HTML5 canvas rendering, so no workarounds are possible that wouldnt require performing complex matrix operations without the help of graphic processing hardware, effectively frying the iPhone for a workaround to play videos inline on a web browser. So don't bother with this suggestion.

What's stopping Google from introducing it's own W3C compliant HTML5 video player in the iPhone Chrome browser rather than Apple's native non W3C compliant video player?
Apple does not allow any iOS browsers to use their own rendering engines. They must use the Apple supplied WebKit frameworks, or their app will not be approved for the iOS store.
From App Store Review Guidelines:
Apps that browse the web must use the iOS WebKit framework and WebKit Javascript
Presumably if you were to try to ignore that rule, your app will be denied.

First, any answer about policy that doesn't come from Apple is speculation. That said, I can imagine a few possible reasons:
User eXperience. It prevents obnoxious advertisements in web pages from auto-playing.
Money. Apple takes, what, a 30% cut of app sale revenue? Allowing inline video would obviate some number of native iOS apps that could otherwise be 100% HTML5 web apps. Imagine that Apple ran a spreadsheet, factoring in developer frustration, potential revenue loss, and other things, but ultimately decided "we'll make more money if we don't allow inline video players".
Again, these ideas are pure speculation. If it weren't 2am EST, this question would probably already be flagged as "opinion based". I personally don't like that aspect of Stack Overflow, but that's how it has evolved.

Related

How to skip ads in youtube iOS app automatically when video is playing?

We want to develop and iOS app which can be able to skip YouTube ads while YouTube video is playing in iOS APP. This app runs in background while video is playing. Our Android team develop this app because android gives them a system level permission to skip ads. Is there any OS level permission in iOS to skip ads?
Unfortunately I don’t think that’s actually possible.
In order to have an app run in the background like that, you would probably have to be jailbroken or have root access. To skip a youtube ad as well as that, that sounds impossible, unless Youtube has some sort of system in place allowing other apps to add functionality to the Youtube app.
There are apps that connect with the Safari app and block certain things on webpages, but none skip youtube ads, they just block them.
With a jailbroken iOS device, I have seen many tweaks which do things similar to this, but I haven’t yet seen a tweak which actually skips the ad the way you want.
Considering this, your request may be impossible with the current nature of iOS.
Anybody please correct me if I’m wrong about any of this.

Audio in Unity WEBGL on IOS devices

I have a problem getting my audioclips to play on ios devices in webgl. I have seen other games with audio working so i know it is possible. Now after 3 days of trying to fix the issue with no luck i really hope you can help me with the problem. I know a solution where you can add some meta tags and save it as a Webapp on your phone. But that is not the solution i am looking for.
Here is an example of a game where the audio works fine in an ios browser http://temple-run2.com/
I quote:
Note that Unity WebGL content is not currently supported on mobile devices. It may still work, especially on high-end devices, but many current devices are not powerful enough and don’t have enough memory to support Unity WebGL content well.
more info
As so, uncontrolled behavior may (very likely) occur on mobile devices.
I know a solution where you can add some meta tags and save it as a
Webapp on your phone.
What is wrong with just building to iOS nativly?
If you really need 3D content in a webbrowser that's supported on mobile devices, take a look at threejs

Video Streaming in iOS through WebRTC

I am trying to build a audio/video streaming app that works cross platform on iOS and Android mobile devices.
No matter how deep I Google, I'm ending up with suggestions that point me towards OpenTok/TokBox API. But this is what I wish to avoid.
I've checked a few demo, but WebRTC/HTML5 do not seem to work with streaming video/audio in iOS browser. For example, the https://apprtc.appspot.com demo does not work in Safari or Opera Mini in iOS.
When I try http://dev.opera.com/articles/media-capture-in-mobile-browsers/demo/ ... I can capture image using the default iOS camera picker from my browser but streaming video fails.
It seems like the getUserMedia() stuff is not supported by any browser in iOS.
Moreover, I am planning to put this on a WebView in a native iOS app. This sounds like a really far cry.
I wish someone could point me towards something that helps me build a video streaming app (hopefully using HTML5), that works uniformly for iOS and android (without TokBox).
You might want to look into Ericsson's Bowser App http://www.ericsson.com/research-blog/context-aware-communication/bowser-openwebrtc-released-open-source. It claims to provide WebRTC on Android and IOS. Apparently the App is currently under review in the App Store so if you wait it may just be a case of downloading the App. However it's also open source so if you can't wait then you can build it yourself https://github.com/ericssonresearch/bowser.
getUserMedia and WebRTC Peer-to-peer connections APIs are not supported in iOS.
One of the reason is that at the moment efforts around WebRTC focus on VP8 video codec which Apple and Microsoft do not support natively. Support in the near future is unlikely with Microsoft pushing for its own standard.
Doing what you want on iOS requires you use a native iOS compatible solution like OpenCV which supports video capture. You can find on Google tutorials on how to implement a solution based on OpenCV.
good news, will be supported at Safari 11.0
https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Safari_11_0/Safari_11_0.html

Displaying flash-based youtube videos on ios devices

Is it possible to display flashed-based youtube videos on ios devices?
What solution do you use when you decide to embed youtube videos on your app?
Or do I have to give up on all flash-based contents?
In short: It is not possible. There is no way to run Flash on iOS yet, and as of last week, Adobe announced it will terminate further development for Flash on mobile devives, so there will never be. And yes, therefore you have to give up Flash-based video on iOS.
YouTube provides HTML5 versions of all videos, so you have an alternative. There a number of posts here on SO that will help you to get started, like this one.

Multi-Language iPhone Apps with Different Embedded Video, Audio content

I have read that the best practice for multi lingual apps is to use localization, which totally makes sense. I raise this thought about multi apps, one app per language, because an app I worked on has separate video and audio content embedded right in the app so there is no buffer time or streaming.
The client has more video and audio content for Mandarin and Spanish. Does this constitute a new app for every language?
Anyone have any experience with apple on this? The English version is already approved in the store.

Resources