Rss

CocoaConf Tour (Late 2013) and Core Audio video

A couple speaky/selly things real quick…

As mentioned in earlier posts, I’m speaking at all four of the upcoming CocoaConfs. I’m reprising my all-day tutorials:

  • iPad Productivity (UIDocument, autosave, iCloud, PDF/printing, inter-app doc exchange) in Portland (August) and Columbus (September)
  • Core Audio in Boston (October) and Atlanta (November)

I’m also doing two regular hour-long sessions, on Audiobus and A/V encoding. For Audiobus, feel free to abandon any angst that this much-loved third party tool for inter-application audio will be obsoleted and abandoned by Apple’s announced introduction of an inter-app audio framework in iOS 7. The Audiobus team announced that Audiobus will adopt Apple’s new APIs when running under iOS 7, meaning you’ll get compatibility with both Audiobus-enabled apps and those that use Apple’s new APIs. So it’s still well worth learning about if you’re into audio; I’m working on some demo code to show it off. Thinking I might bring back the Dalek ring modulator code from 360iDev a few years back and wrap it as an Audiobus effect (Hi Janie!)

For A/V encoding, my session description sounds like it’s all theory and authoring, but I am also going to cover programmatic encoding via the Core Audio and AV Foundation APIs. The latter is enhanced by my recent work on a Core Video / AV Foundation project to do some live chroma-key work and write those Core Image-filtered frames to a QuickTime .mov in real-time. Here’s a quick test I did before shipping version 0.1 to the client:

[iframe src=”http://telly.com/embed.php?guid=YEXY0N&autoplay=0″ title=”Telly video player ” class=”twitvid-player” type=”text/html” width=”480″ height=”360″ frameborder=”0″]

After this project and a little more research and experimentation, it might lead me to propose a Core Video talk for CocoaConfs in 2014. The stuff is fun to play with, and the GPU-powered performance is freakin’ glorious.

Speaking of videos, CocoaConf, and Core Audio… the Core Audio video tutorial I shot at Pearson’s San Francisco offices during CocoaConf San Jose is now available. The iOS Core Audio LiveLessons (Developer Talks), Downloadable Version (US $55) covers three segments over an hour and a half: when not to use Core Audio and use AV Foundation instead (mostly for file-based playback and recording scenarios), the Audio Queue and Audio File Stream APIs (illustrated by building a web radio client), and Audio Units for real-time audio processing (effects and stuff). This actually covers some of the same ground as my CocoaConf tutorials, so hopefully that’ll be useful for anyone who couldn’t make it to CocoaConf.

It was also a little tricky to teach this stuff entirely off the top of my head (no place to put my notes where I could read them but that wouldn’t also be visible in the shot), but the Pearson people did a great job of fixing things in post, even dealing with two instances where I forgot a step and had to go back and fix it. For as much as you can get lost in the details when reading a technical book, watching the code come together in a live coding demo is a different experience and some people really prefer it, so I’m glad we could make this available.

Comments (2)

  1. dwsjoquist

    I have an app where I’m using AVFoundation for some video syncing, and it almost does what I need, but not quite. So I’ve just started poking around CoreVideo, and was trying to figure out the best way to learn more about using it on iOS.

    Other than Apple’s stuff, do you know of any materials or links that would be helpful?

    Thanks,
    Doug

  2. Doug-
    You might want to check out Bob McCune’s CocoaConf talks on AVF, if he’s put his slides and code online. Also make sure you’ve tracked down the various WWDC videos and samples.

    Interested to know what in Core Video’s public SDK is appealing to you? IIRC, Core Video is all about realtime-friendly Core Image filters, and Core Media is about C types for low-level media modeling (structures for sample buffers and timing), so I’m a little worried if what you need isn’t in AVF. You’ve plumbed the depth of AVAssetWriter and all its helper classes, right? There’s a lot of power in asset reading/writing, but it’s complex.
    -Chris

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.