iOs: Low frame per second(fps) for VGA resolution - ios

I'm facing an issue in broadcasting video from one iPhone to another iPhone.
The issue is when I view the friend's live video in my iPhone, the frame per second(fps) is very low(it is 12fps). Video quality and audio is looking fine but the only problem is fps.
I don't know where I need to config/change the code to convert from variable fps to constant fps. Also to increase the fps as **24/30**.
The resolution I used for broadcasting
RESOLUTION_VGA, // 480x640px (landscape) & 640x480px (portrait)
I'm using following libraries for streaming
MediaLibiOS - link
Ffmpeg-2.2.1
CommLibiOS
libx264-r2409
Wowza is a Media Server and iOS target version is 7.0
Please help !
Thanks in advance.

Related

How to access full camera resolution on iOS Safari?

I have been developing a web application that uses getUserMedia to access the user's video camera stream to take photos. For this purpose I want to get the camera's maximum resolution or at least something fairly high.
This works fine on Windows, Linux, Android (Chrome and Firefox respectively).
However, on iOS Safari (iOS 11.4.1, Safari 11.0) it always just gives me 1280x720 pixels at most. Of course this is not the maximum of my Iphone 6 Plus' camera.
This command lets me reproduce my issue easily via the JS console by requesting the stream and logging its settings shortly after:
navigator.mediaDevices
.getUserMedia({video:{width:8000,height:8000, facingMode:'environment'}})
.then(stream => setTimeout(()=>console.log(stream.getVideoTracks()[0].getSettings()),500))
.catch(console.error)
The unrealistically high "ideal" constraints for width and height cause the other browsers on Android etc to return the respective camera's maximum resolution. Not so for iOS Safari.
Has anyone managed to get higher resolutions via getUserMedia on mobile Safari?
Thank you!

AVAssetExportSession exportAsynchronouslyWithCompletionHandler: Source frame unsupported format

I am using AVAssetExportSession to export a video selected from library. It works great for all videos of all types except landscape-recorded screen recordings (using the screen recording feature in iOS 11). Weird enough, it works perfectly for other landscape videos, and it also works perfectly for portrait videos of the same screen recording feature. But I've tried two videos that are landscape screen recordings, and they both failed with the error Source frame unsupported format.
How can I fix this problem?
UPDATE: Videos play just fine both in Photos and in my app before exporting.
The video size may not be standard like 1920 X 1080 , The screen recording produce non standard video resolutions in some devices.
You need to write the videos in standard resolution while recording

iPhone 6S audio issue while streaming

I developed an iOS application with live video streaming. I fixed the audio sample rate to 8k. Audio works fine up to iPhone6 devices, but when i stream video in 6s and 6s plus audio part is not working. How can i fixed this issue? I tried in different blogs and found that in iPhone 6s sample rate is locked in 48k. How can i manually down sample? Because the library that i used for live streaming works only in 8k. Please help me on these
You can do your own sample rate conversion by low-pass filtering the data to a frequency below 4 kHz, and then taking every 6th sample (to convert 48 ksps samples to 8 ksps samples).

Itunesconnect App Preview Video

I have tried many times to upload App Preview video.
But each time I failed.
Please recommend me best tool to convert my video to availble and how to.
Thanks
You must use Safari to upload your video.
I use QuickTime Player to record the screen of my app.
In QuickTime Player you can record in portrait and landscape, but you cannot rotate your screen during the record.
Open QuickTime Player > File > New Movie Recording (then select your device for camera and microfone).
Sample of record screen:
Apple App Preview Video Guidelines
As you can imagine, Apple wants to generate a similar Look & Feel for all videos. Therefore they released some guidelines, which you should mind when creating a preview video.
15-30 seconds length
Maximum file size of 500 mb
.mov, .m4v, .mp4 format
Only use screen capture
No (very less) copy – due to the reason that you can’t internationalize your video and only upload it once in one language
Don’t overlay animated hands, you can use touch hotspots if really necessary
For games: Show more gameplay scenes than cutscenes
You can use voice over – but mind the internationalization part – Apple recommends to only use a very limited and professional voice over if you have to
Your preview video should only contain content for which you have the full rights (don’t show you app streaming content from an iTunes Playlist or a YouTube video)
App Preview Video Format
Now the most important part – which format or size should your video have. As you have already read in my screenshot size article it can be quite frustrating creating a lot screenshots in different sizes.
Apple recommends you to use the following app preview resolutions (this is already a summary, that you have to create the least amount of different video versions):
iPhone 5+ iPhone 6 Plus: 1920 x 1080
iPhone 6: 1334 x 750
iPad: 1200 x 900

Maximum video out resolution of iPad Mini?

I'm developing an iPad app that can employ an external monitor. When I plug my iPad 3 into my external monitor, I get back a list of resolutions from the external UIScreen object that includes 1920x1080.
When I do the same with my iPad mini, the max resolution I get back is 1600x900.
This would make me think the iPad mini doesn't support full HD external video, but the Apple specs say this:
Video mirroring and video out support: Up to 1080p through Lightning
Digital AV Adapter and Lightning to VGA Adapter (adapters sold
separately)
...which seems pretty unambiguous that it should support full HD.
Does anyone know what's going on here?
Thanks!
The iPad mini does not HAVE the resolution for 1080p (it has 1024x768 screen resolution while 1080p is 1920x1080 as you mentioned), hence, mirroring does not make sense.
Video playback, on the other hand, should work.
TV resolution can be set in Settings>General>TV Out.
The max resolution shown in that menu is your iPhone or iPad's screen resolution.

Resources