Is there a way I can capture my iPhone screen as a video? [closed] - iphone

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 9 years ago.
Improve this question
I want to be able to capture my iPhone's screen as a video, but I'm not sure the best way to do this.
Can anyone help guide me on how to best do this without jailbreak?

Here's my solution in a nutshell:
In recent years, when needing to produce moving visual content from the interface of an iOS app, I would require the developer provide a compiling of the app designed for the Simulator, (must be separately compiled because the apps are, by default compiled to run on the iPhone's ARM processor, whereas the Simulator runs on the Mac's Intel processor). This would then be screen captured on the Mac with something like Snapz Pro, Screenflow or something similar.
Beyond that, typical solutions required jailbreaking the device and installing a screen capture application sourced from the Cydia Store.
With the introduction of the iPad 2, Apple enabled full interface mirrored video output via either an authorized dock connector to HDMI dongle, or a dock connector to VGA dongle. (Note: Apple's composite and component options do not port mirrored content.) While the typical intent for these output mechanisms are to display the interface content to an external projector or High Definition Television, it is possible to record this mirrored content with a device capable of recording or transcoding content from such an incoming source. This option was also made possible with the introduction of the iPhone 4S. Quite often, recording this video content is done with HDMI capture cards installed on the capturing computer, such as those produced by Black Magic or AJA, among others. This is, or course limited to using computers that are capable of having such a capture card installed. Other options may include some HDMI record-enabled DVR devices (though many detect and disable such options) or firewire-based transcoding devices (like the Grass Valley ADVC-HD50, which I use).
Since getting the iPad 2 earlier this year, I have been using the Grass Valley ADVC HD50 to capture iOS screen motion from dock connected HDMI to a HDV compatible video capture application on my Mac. It has thus far worked flawlessly.
Here is an example from a video I recorded showing such captured content from both the iPHone 4S and the iPad 2.
http://youtu.be/k7jlPx8NAmw
However, now that Apple has enabled wireless iOS mirroring via Airplay in iOS 5, I find it is now much more convenient to connect an Apple TV device to the Grass Vally ADVC HD50, and capture the iOS interface screen recording wirelessly.
Here is a recent short video example in which the iPhone 4S interface was captured wirelessly via Airplay mirroring.
http://youtu.be/UKsixjcCXdI
I hope this helps.

As others have suggested, AirPlay mirroring is the way to go. To mirror directly to your computer use an AirPlay server like http://www.airserverapp.com/. Then, since it's showing up directly on your computer you can capture it using the built-in Quicktime app (File > New Screen Recording). Works great!

You can use Lookback. It records your screen, face, voice and all gestures, and uploads them to your account on the web.
Here's a demo: https://lookback.io/watch/JK354d5jcEpA7CNkE

Loren Brichter the developer of Tweetie2 wrote this little app called SimFinger to make iphone screencasts top notch!
http://blog.atebits.com/2009/03/not-your-average-iphone-screencast/
Love apps that make amateurs look like pros :)

I made a plugin for the simulator that does just this. You can find it at my blog.
It actually records the screen. It does not rely on another screen capture program like iShowU.
It will install icons for the default apps and change the carrier text to look like a real device.

Short of using a video camera, no.
Many youtube videos for demonstrating iPhone applications are made with a screen grabber application (such as iShowU, ScreenFlow, or Snapz Pro) and the simulator. Be aware that the speed of response in the simulator can be dramatically different than a device - so it's possible to get effects (and miss) with the simulator you'll never see on a device. In particular, default animations can flash by in the simulator, where they just look quick on a device.

using ScreenCaptureView class we can capture the iphone screen as video.The source code is available here.The recorded video is saved in a NSUrl,outputURL.Use that NSUrl in a method like below to play the recorded video,
-(void)playvideo
{
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:outputURL ];
[player.view setFrame:CGRectMake(0,0,320,480)];
[player setMovieControlMode:MPMovieControlModeHidden];
[player setScalingMode:MPMovieScalingModeAspectFit];
[player setBackgroundColor:[UIColor blackColor]];
[player setFullscreen:YES animated:YES];
[player play];
[self addSubview:player.view];
}
call this method before releasing NSUrl in completeRecordingSession method ..it will replay what you did in the iphone screen as a video.

Note: This answer is outdated
www.iphonevideorecorder.com. There's a free trial I think, but after that you'd need to buy it. And you need to jailbreak your iphone.

You could use the video-out and capture that somehow with a firewire or sumthing..
The class MPTVOutWindow can help you out! Here's a nice sample of that!
http://iphone-developers-nc.googlegroups.com/web/UIApplication_TVOut.m

I used ScreenFlow to record the Simulator, and zoomed it and added static images as necessary. I then embedded the movie in an iPhone frame on my website. Turned out okay. See the Tweeps page for the result.

i guess it is so obvious now that no one has posted this but for the noobs.... note: iPhone 4S only
just airplay to an apple tv and video mirror then output the atv to a device that can record - like tivo, dvr etc. you can also use a video out cable on the iPad [1 and 2] now
not sure if the cable works on the iPhone 4S as I havent tested that myself
its clunky but there is no other way i can see atm.

I've continued to research this item myself, and it does appear to remain beyond us at this point.
I even tried buying a Apple Composite AV Cable, but it doesn't capture screen, just video playing like YouTube, etc.
So I decided to go with the iShowU path and that has worked out well so far.
Thanks Guys!

For a nice looking screencast, have a look at SimFinger. You will still need a screen recoder such as Snapz Pro.

Just for anyone who is still looking for solutions:
The RecordMyScreen jailbreak app is opensourced and works fine even on non-jailbreak devices if we have the developer license. You can have a look at the source: https://github.com/coolstar/RecordMyScreen

I dont believe this is possible.
Your best bet is to get something like iShowU and capture from the simulator.

Related

Interactive iPhone mirroring using touchscreen

is there any way to mirror and use an iPhone with a touch monitor?
I need to create an app demo presentation.
thanks in advance.
iPhone screen sharing can only be done by Airplay.
There are many softwares that is used to screen-share from iPhone to Mac/Desktop
http://www.airsquirrels.com/reflector/
http://www.x-mirage.com/x-mirage/
AirServer is probably the best for this, it supports both Airplay and Miracast for projection of smartphone to screen. It allows you to record the screen to file as well as stream live on YouTube, with webcam and everything.

.Net (or other) dev links for streaming video to an Apple TV?

We are a school district and are in the middle of deploying ~800 iPads, one for every teacher. Next year we'll probably be installing an Apple TV in every room to mirror the iPads wirelessly to the classroom projectors.
I would love to use Apple TV as our standard to mirror all our Windows7 laptops also.
AirParrot (http://airparrot.com/) allows this from Mac OS/X. Apple doesn't license the mirroring protocol so the way AirParrot gets around it is they basically stream the desktop as an H.264 "movie" that is sent to the Apple TV. The Apple TV thinks it's just playing a movie. From the reviews it seems they've gotten the lag to a pretty acceptable level.
I can't see why this couldn't easily be done for Windows 7, I just can't see a app out there that has done it.
Any ideas? I'm a .Net software developer. If anyone has at least links towards how to handle Apple TV video streams from .Net that would be a good first step.
Thanks!
I'm working on a C# library for sending pictures/video to the AppleTV, having trouble with video cutting out after 30 seconds (Link to question), but hopefully I'll figure that out soon. If that problem is overcome you can probably figure out how to generate a movie of the screen and stream it using the library code.
https://airlib.codeplex.com/

Is it possible to read iPhone or Android display data through the audio jack?

I'm not very well versed in the iPhone and Android API, so please bear with me if this is a stupid question.
As I understand it, Square's card reader works by converting the magnetic information on the card stripe into an audio tone that its software can then process. [1]
In a similar way, is there a way to somehow read what exactly is being displayed on the device screen simply through a small device inserted into the audio jack on that device?
[1] http://www.quora.com/How-does-Squares-hardware-work
It's not quite clear what you wish to achieve. You can indeed make an app that would output a representation (perhaps audio frequency-shift keying?) of the screen's contents to the iPhone's audio jack.
The iPhone (and other iOS-based devices) use TRRS connectors for bi-directional audio (and hence arbitrary modulated data) communication and there are well-supported publicly-documented APIs for using these interfaces.
That said, if you're writing your own app: why would you want to output the contents of the screen? If you are developing the app in question, why not transmit the salient data in a more effective manner? Which leads me to my next assumption:
You want to read what's being displayed on the device's screen at any time, not just when an app of your creation is open. In this case, the answer is that it is not possible, with the possible exception of a jailbroken solution. That said, I can't imagine a jailbroken solution being useful much longer on account of iOS 5 introduced "display mirroring" by means of AirPlay.
On Android, I have no idea. :-)
No. The screen is not connected to the audio jack.
I think you can make an app to take a screenshot and then encode that photo as music to play it.
It won't sound good though :)
For this kind of task, there is built in camera

Turning an iPhone or iPod into a wireless webcam

I'd like to stream video from the camera on an iOS device to a receiver via wifi, in effect turning the device into a wireless webcam. Is there a way to build a small app that captures video input on an iOS app and sends it via an RTSP stream or similar?
As this is an ad hoc experiment, I'm not concerned about App Store guidelines and can jailbreak if necessary.
If I interpret your question correctly you more or less need to solve four problems:
Get the camera feed.
Convert/encode this to the right format.
Stream the data.
Prevent the phone from locking itself and going into deep sleep.
The first one is fairly simple and Apple has as always provided good documentation and examples -> API link. Make sure you check out their example in the end as you will get a CMSampleBufferRef data object back.
For the second and third part, you should check out the CFNetwork framework and specially CFFTPStream for streaming using FTP.
If your are only building this for yourself then you can always turn off the Auto-Lock feature in the settings. If you on the other hand would like to distribute this to other users you could use a trick to play a mute sound every 10 seconds. This is more or less how all the alarm clocks work in the App Store. Here's a tutorial. =)
I hope I helped a little bit at least.
Good luck and best regards!
I'm 70% of the way to doing the same thing. Here's how I did it:
Capture content from video input
Chop video into files for use in HTML Live Streaming.
Spin up a web server on the iPhone and make the video files available.
Connect to the IP address of the phone and viola! you've got live streaming video.
Last time I touched the code I was trying to debug my Live Streaming not working. I'll try and get my source code posted on github this weekend, if you'd like to take a look.

how does first generation iPhone camera video?

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.
"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.
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.