- This topic has 7 replies, 2 voices, and was last updated 8 years, 10 months ago by Anonymous.
August 13, 2013 at 17:25 #1037AnonymousInactive
Need to stream live video from Windows-7 by USB to iPad at at least 15 frames per second for 512×512 byte frame.
But only seeing < 1 frame per second.
Loop is iPad app uses NetworkComms.SendReceiveObject() to request frame, and Windows app uses NetworkComms.SendObject() to send frame reply.
Can NetworkComms stream 512 x 512 byte frames continually from Windows to iPad?
Seeing 3.6 fps by USB and 30fps by WIFI if sending 100×100 byte frame.
But at desired frame size 512 x 512, USB is < 1fps, and WIFI is ~6fps.
Strange that WIFI is fa
Windows app is Visual Studio 2010 C# with NetworkComms.net.
iPad app is Xamarin Monotouch C# with NetworkComms.net.August 13, 2013 at 17:34 #1038AnonymousInactive
“Strange that WIFI is faster.”August 14, 2013 at 14:05 #1039AnonymousInactive
I am going to try one-way streaming using NetworkComms.Net’s “UDP BROADCAST” topic’s method to solve this problem.
Also, I have moved this topic to STACKOVERFLOW.COM as:
“NetworkComms.net very slow sending from Windows by USB to ipad”
and will post my solutions, help, and tips there.August 14, 2013 at 16:50 #1043AnonymousInactive
Any performance issues when sending large amounts of data are generally caused because of the compression and serialisation methods being used. Please see the advanced send example included in the source which demonstrates how to disable compression for performance testing. If you are still having issues please post back.
MarcAugust 19, 2013 at 16:13 #1047AnonymousInactive
Marc, how do I send a continuous stream of fixed size data? UDP or TCP?
Which NetworkComms.net method? Is there example?
I already connect across USB ok (through tunnel).
Then need to start sending fixed size image frames from NetworkComms.net on Windows-7 to NetworkComms.net on iPad Xamarin Mono.
Each frame is 2Mbits.
It’s live video so there’s no time for synchronously awaiting reply.
Thanks for a super product!August 19, 2013 at 16:31 #1048AnonymousInactive
Looks like TCP should stream, following AdvancedSend.cs example.
Here’s my plan:
Windows STREAMING SENDER:
connectionToUse = TCPConnection.GetConnection(connectionInfo);
(packet handler processes received frame)
Thanks!August 20, 2013 at 18:08 #1050AnonymousInactive
You can stream using either UDP or TCP but the differences between the two protocols is important (http://www.diffen.com/difference/TCP_vs_UDP).
Sounds like you are making progress.
MarcAugust 28, 2013 at 18:21 #1051AnonymousInactive
Guess what the problem was?? I was running the Windows C# in the Visual Studio 2010 development environment. When I ran the C# .exe, I get 44Mbps throughput from Windows-7 through USB2.0 to iPad (ipad hardware is only USB2.0).
And here’s the peperoni… (ancient Cheech & Chong allusion):
// VISUAL STUDIO 2010 C# STREAMING TRANSMIT TO IPAD:
for (; ; ) // thread’s exec loop
NetworkComms.SendObject(“Ultrasound Stream”, ultrasound_stream_sourceId, false, frame_to_iPad);
// IPAD STREAMING RECEIVER FROM WINDOWS:
(packetHeader, connection, incoming_bytes) =>
// your code that processes incoming_bytes goes here.
- You must be logged in to reply to this topic.