View Full Version : Borderless Video for iOS?


David Hurdon
March 11th, 2013, 06:38 AM
Since I've been gone has anyone created a codec or other solution to producing borderless video that isn't Flash-based? Unless I've missed something since Steve Jobs left us the original Flash solution won't run on an iOS device.

Seth Bloombaum
March 11th, 2013, 06:07 PM
"Borderless"?

Generally, you have two choices for iOS, h.264 in an MP4 wrapper, or the unique m3u8 file format.

Handbrake is an awesome freeware tool that uses the excellent and fast x264 encoder, Lanczos rescaling, and Yadif deinterlacing in a good interface. It's state of the art for low-volume creation of h.264/mp4 files. There are iOS presets. Being freeware, it is not the best documented.

Then you have distribution to consider; app, iTunes, or web page embed... If you can write web pages, the HTML5 video tag is rather simple. (http://www.w3schools.com/html/html5_video.asp)

<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
</video>

David Hurdon
March 12th, 2013, 06:29 AM
Thanks, Seth. I haven't heard of Handbrake. I should probably have made it clearer that by "borderless" I meant keyed out - the "man walks onto website and talks to you" effect. I've done my fourth series recently for a menswear client and this time, after the fact, they care about Apple mobile devices. I create my final product in Flash and therein lies the problem. Will Handbrake export this effect for iOS display?
There is an example here: Sample implementation code for sitegreeter video (http://www.digicorps.com/About2012/sitegreeter.html)

David

Seth Bloombaum
March 12th, 2013, 09:53 AM
Ah, alpha channel transparency. Yes, I've used that flash playback method.

I did extensive research a couple years ago for a project, looking for h.264 transparency. Although it is part of the h.264 specification, and is part of the "reference encoder" spec, so far as I was able to find out at that time there are no products that support h.264 transparency for encoding or playback.

My research took me to several interesting places, including reading the h.264 spec, a hardware assisted encoding library created by Intel, MainConcept's reference encoder, Sorenson Squeeze, Telestream Episode, Rhozet Carbon Coder, "world's greatest compressionist" Ben Waggoner, and writer/educator Jan Ozer. No dice. The products mentioned above are the industry standard encoders from $800 to $20,000.

Of course things change, the co. I was working for at the time wasn't willing to sponsor creating/adapting encoder and player methods, a significant task. Maybe somebody has. Apple apparently promised this and demoed it in 2007, and there are some intriguing hints in their developer guides for QT for iOS, but the only method detailed provides a fixed, still mask, not a tracking mask.

With a Silverlight programmer, I developed a transparency method that worked for that project. But no Silverlight on iOS I'm afraid. Potentially, the method we came up with could be ported to html5/h.264, but that would be a significant task. Maybe it couldn't; it was a bit bandwidth and processor intensive.

David Hurdon
March 13th, 2013, 06:25 AM
Wow, now that's a reply. You've apparently inhabited what many of us would consider an enviable environment, certainly including myself. Thanks again for the information.

David

Mo DeJong
June 12th, 2013, 11:59 AM
Ah, alpha channel transparency. Yes, I've used that flash playback method.

I did extensive research a couple years ago for a project, looking for h.264 transparency. Although it is part of the h.264 specification, and is part of the "reference encoder" spec, so far as I was able to find out at that time there are no products that support h.264 transparency for encoding or playback.

.

Seth is quite correct in stating that there is no encoder or decoder for h.264 that supports an alpha channel. But, that does not mean it is impossible. I have implemented a solution for h.264 with an alpha channel that works with iOS. A step by step description of how it works appears in this blog post:

h.264 video with an alpha channel | iosgraphicsanimation (http://iosgraphicsanimation.wordpress.com/2013/06/05/h-264-video-with-an-alpha-channel/)

The AVAnimator library for iOS homepage is here:

AVAnimator library for iOS (http://www.modejong.com/AVAnimator)

Please have a look, I am sure you will find it useful for your iPad app.

Seth Bloombaum
June 13th, 2013, 05:36 PM
Very interesting work!

In the silverlight method we developed above, we also ended up with an independent moving matte that was assembled with the RGB video in the player.