4

There are some apps that let the first generation iPhone record video with a reasonable quality. My question is, which api do those apps use? Do they use custom code for compression to mpeg? And how do they gather so many images per second from the camera, which does only allow to take still pictures? The takePicture function of UIImagePickerController would be too slow for that.

Dominik Seibold
  • 2,439
  • 1
  • 23
  • 29

2 Answers2

2

"This app works by using the long-blacklisted UIGetScreenImage() function that I've written about in the past. (I discovered this use by scanning the application using my APIkit scanner.) Apple must have willingly given the go-ahead for its use, as their automated scanning must have picked the same function call. Good news on the "more flexible review" front. Since Apple recently gave the green light to the UStream video app, with Qik hot on its heels, it's likely we'll see more of these applications that provide iPhone video functionality for livecasting or recording from your device." - http://www.tuaw.com/2009/12/14/app-store-approved-app-brings-video-recording-to-iphone-3g-and-1/

My summary: I think that the app opens a "Take a picture" type of view, and then "records the screen and saves to video" by using the UIGetScreenImage() API.

Linuxmint
  • 4,716
  • 11
  • 44
  • 64
  • 2
    Actually, that article is from 2009. Recently they have again started to reject applications that use the `UIGetScreenImage()` API. – sudo rm -rf Dec 14 '10 at 17:38
  • @sudo rm -rf: This app is still on the app store using the UIGetScreenImage() API! – Linuxmint Dec 14 '10 at 17:41
  • Existing apps are haven't been removed, but new apps are being rejected. Who knows, maybe it'll be come usable in the future? IMO, it's better to just work a little harder to implement something now than have to do it later. – sudo rm -rf Dec 14 '10 at 17:45
  • 2
    @sudo rm -rf: Apple sure is funky with their rules! – Linuxmint Dec 14 '10 at 17:46
0

Unless these apps run on iOS versions prior to 4.0, I very much suspect they use the standard Apple API, as the UIImagePickerController has specific support for recording video on supported devices.

See the startVideoCapture instance method within the UIImagePickerController class reference.

John Parker
  • 54,048
  • 11
  • 129
  • 129
  • Yes, but on iphone 2 it's not supported to record video. Also iOS 4 is not supported. So how do these video apps fetch images multiple times per second from the camera? – Dominik Seibold Dec 12 '10 at 15:26