Network sniffer on iOS - ios

I need to do video streaming to iPhone.
However, I don't have a homebrewed application playing the H.264 stream yet.
I have to understand first, how much delay there's for iPhone to receive the first packet/frame.
Anyone knows how to get some "sniffer" like WireShark on iPhone? Is it possible at all?

You can configure Fiddler as a reverse proxy and monitor the traffic from mobile devices. I don't know if this will do exactly what you want (I haven't done it in a long time) but the company I work at has analytics products for the various mobile platforms and that was the method we used to monitor their network usage.
http://www.fiddler2.com/Fiddler/help/reverseproxy.asp

Related

Building An RTP Server in iOS That Allows WiFi Speakers To Stream Music

A Little Background On Why I Have To Do This
I am currently optimising an app in order to improve the transferring of media files to the WiFi speakers that our team developed. Our solution before was using iPhone as an HTTP server and then allow the speakers to connect and download music from it. But unfortunately a lot of problems occurred such as frequent slow transfer speed, file read failure, and when user uses the "seek" command, the speakers would have to download the whole file in order for it to seek into that particular time before it starts to play. This is a very bad experience for our users.
What I Need
In order to solve the problem I mentioned above. We thought of changing the HTTP server to an RTP server that will be ran on an iPhone and then allows the WiFi speakers to stream music from it. However, from what I read on other Q&A platforms they mentioned that iPhone does that support transferring of data using RTP. I also tried searching here in stack but were not able to find an answer that solves my problem.
My Question
Is it possible to run an RTP server on iPhone and is there any demo about this that I can refer to?
Any suggestions would be high appreciated.
Please read link http://dss.macosforge.org/
Darwin Streaming Server from Apple official.
However, I'm not sure it can work on iOS.
Best regards,

iOS: Convert iOS app screen as network packets

I am developing an iOS application, where i need to share my iOS application screen converted as network packets into another server destination. I can use socket programming for sending and receiving network packets. But, i want to know, how can it be possible to convert my iOS app native screen (view) to packets? For ex: In windows desktop, its achieved by RDP and video driver converts desktop screen to packets.
Please advise if anyone come across working on such thing.
Thank you.
Getsy.
iOS has native support to mirror the screen to a remote display. It is called AirPlay Mirroring.
It would be very hard to provide a similar experience trying to bypass iOS.
You would have to run in the background. You would have to do some sort of video compression combined with streaming. Apple doesn't give you enough control over their H.264 hardware compressor.
There are multiple products out there to receive the your iOS screen. For example:
http://www.airsquirrels.com/reflector/ or
http://www.airserver.com/
If you want more control on the receiving side you could write your own AirPlay receiver.
I'd start here: http://nto.github.io/AirPlay.html#screenmirroring

Audio Stream WiFi to WiFi - Broadcast

I have a requirement for an IOS app where a user will start the app, records an audio speech (via device microphone) which would be broadcast to other user on the same network, all this has to be live over wireless connection(WIFI).
I did some research for possible solutions and also tried audio streaming via HTTP URL, but it was not feasible and also involves internet.
I'm looking for your opinions and if it's doable then what is the right approach, (what libraries and API's should I look for)
I'm novice to iOS development, i would really appreciate if you could explain in detail.
Thanks in advance.
Yes, it is doable. You will need two major components: A network API to send/receive data , and audio capture and playback API.
For network library, you can try CocoaAsyncSocket. It is quite simple to use.
You can use UDP protocol with multicast address. Even thought you said you wanted to broadcast, but you would be better off using multicast ( send to a group of devices).
For Audio sample how to capture and playback, check out my answer on this .

Audio Chat + Data Stream Library for iOS

I want to build an iOS app that streams audio and some additional custom data between two users real-time. This is possible using GameKit if people are on the same network, but I haven't been able to find an SDK that can do this across the world.
Does anyone know if there is an existing service that does this?
If not, what services do you recommend for doing these two things (streaming audio and streaming data) separately?
Thanks.
WebRTC (www.webrtc.org/) has support for iOS (for audio streams, video promised later). But anyway in order to support communication for peers behind NATs - you will need your own sans, stun servers...
After looking into it, it seems that QuickBlox is able to do everything I need.

Realtime Voice chat between iOS devices in same network

I'm working in app where I need to implement a simple voice functionality between two iOS devices in same network.
My doubt is about how to get audio units from master device and send over wifi or bluetooth network directly to slave device in realtime.
Some things about network communication I have done, I can transfer any NSData between devices using TCP.
Is very important to not use GK framework, because I need to connect two clients without any notification. For example, when I use GK to connect two devices, the iOS display a alert with a connection request, I need to avoid this connection request.
Currently I can do this with video, is more simple than audio.
Any ideias about the implementation of this are welcome.
Thanks.
First of all, you need learn how to capture the audio using Audio Queue Services.
Then transmit the audio data it over wifi and bluetooth and play it at the other side.
The most obvious choice for you is to use bonjour.
GameKit framework is built on top of this. You dont have to build too much on top of this for your application though. Yours is a straightforward application of bonjour.
Please refer the code for chatty if needed. Incase you need some background theory, please refer to http://mobileorchard.com/tutorial-networking-and-bonjour-on-iphone/.
I have used Audio Queue Services for the same sort of project.
For Networking I am using Bonjour and it has really solved the problem of transmitting text and video.
Did a lot of workarounds to make a voice chat in wifi using Audio Queue Services but have not succeeded. I will update once I find the solution other than this.

Resources