PDA

View Full Version : Version 2.11 Released


brianmount
06-25-2012, 04:16 PM
Version 2.11 of CQC Client for iPad, iPhone and iPod Touch is now available in the App Store. It's a free upgrade for existing users.

I will update the Web site to describe the new features, but basically it should have a little better performance as far as memory usage. It supports larger template sizes on modern devices, and can also be set up to show images from security cameras and what not (instructions on how to do that are forthcoming).

My suggestion is, if the existing version is working fine for you, you might want to wait for a couple of weeks to upgrade, so the early adopters who need the latest and greatest can risk the potential pain if there's a bug. That said, we have tested it on a number of devices and templates, and as far as we can tell it's bug free, so if you really want a bigger template on your new iPad 2, jump on in.

brianmount
06-25-2012, 05:24 PM
I have updated the documentation. In particular, the User's Guide now describes RIVA Command messages:

http://www.mountford.net/cqcclient/usersguide.html

If Sam Vimes could chime in on how you actually set up RIVA Commands on the CQC server end, that would be great. You should be able to use this new functionality to display data from sources like Web cams, as long as they're accessible via a URL.

paul
06-26-2012, 11:56 PM
I upgraded to the latest release and have a problem.
When i scroll to next page using my iphone none of the configured buttons work.
Im on the latest version of everything.

brianmount
06-27-2012, 04:48 AM
Darn. Why is this never easy? :) Is there a way you can either give me access to a version of the template or send a copy of the template to Sam Vimes? How big is the template size? Do you have the High Resolution mode turned on?

Ron Haley
06-27-2012, 09:17 AM
It is so much faster!

rbroders
06-27-2012, 10:14 AM
Hi Brian,

I'm still new to the RIVA viewer and so far I love it! One minor nit. My templates are all 1024x768, so I want to prevent the iPad from using portrait orientation. Thus I selected the landscape orientation from the settings.

It would be nice if this still allowed rotation, just not portrait. Even if it doesn't allow rotation at all, it would be nice if the fixed orientation matched the RIVA viewer menus. It seems to be upside down...

Thanks -- Bob

paul
06-27-2012, 02:04 PM
Darn. Why is this never easy? :) Is there a way you can either give me access to a version of the template or send a copy of the template to Sam Vimes? How big is the template size? Do you have the High Resolution mode turned on?
Template is 800x480 with high res Off.
I've made a template pack for Sam Vimes but i need his email address

SamVimes2
06-28-2012, 06:52 AM
Hi Paul,

I just sent an email to your address listed on the board. Let me know if you don't get it. We'll get you sorted out!

indygreg
07-01-2012, 05:05 AM
I just read the documentation and am confused. It has a refresh interval for the web browser. Does this mean it is not actually opening a browser on the iOS device? I have streaming video that is full motion in my web browser widget and on the iPad if I just browse to that ip it is fast and fluid. Is this new command sending snapshots to the iPad from a browser back on my server?

Thanks,

Greg

wuench
07-01-2012, 05:13 AM
No, it's opening a browser on the device, the refresh is just like clicking the refresh button in a browser.

If your video updates on it's own, you just set the refresh interval to 0. If it is something like a cover art image of a currently playing song or something, you may need it to refresh itself periodically to pick up the changes on the website.

brianmount
07-01-2012, 06:06 AM
Actually, that's not the case. At the moment, the iPhone app is effectively taking a snapshot of the contents of the URL and displaying that. So if you have video, it will not get displayed properly. You'll just see a snapshot, refreshed as often as you tell it to do so.

I'm a little hazy on how video works on the iPhone and iPad. A lot of times (such as when you go to YouTube), the video doesn't actually display in Safari. Rather, it switches you to an entirely different app to play the video. Is your particular video displaying within Safari itself? If so, it might be possible to incorporate it into CQC Client. I'm just afraid that performance would suffer, since it has to handle both the welter of messages from the CQC server and the video stream. That's why I went the snapshot route.

On the other hand, if your video is being displayed in a different, non-Safari app, then presumably it wouldn't work in CQC either. Can you point me to any sample videos that work in Safari, which I can use as a sample to see if I can do something in CQC Client?

wuench
07-01-2012, 06:23 AM
So it's just an image, not an actual browser window?

brianmount
07-01-2012, 08:31 AM
It's actually a full browser window, with fully rendered HTML and so on, of which I then take a snapshot for performance reasons. If people can come up with examples where actual dynamic content is useful and, more importantly, supported in a browser window on the iPhone / iPad (meaning, it would display properly in the Safari app), I will revisit the design and see what I can do.

indygreg
07-01-2012, 09:23 AM
I was afraid of that. I would have thought security cameras would be a good use case for video but I guess snapshots are good enough for most people :(

I figure my use case is unique (the story of my life). I stream a video feed to my touchscreen that does two things:
- lets me preview things not on the main screen. I can be looking at appletv, renting a video or traversing the menus in a bluray while the theater has a movie running. Sometimes I might find a video on YouTube using appletv while a tv show is still running.
- I have my on screen display superimposed onto the touchscreen video and not on the big screen. I sometimes fidget with surround sound stuff while the show is on and everyone doesnt have to watch.

I can try it but I would think that having a delay while I wait for the browser to update while I and plowing through menus would be too frustrating.

Greg

brianmount
07-01-2012, 07:36 PM
When you bring up the streaming video on your iPhone in Safari, does the video actually display in Safari, or does it redirect you to another app? If it's in Safari, what kind of file format is being used to display the video? I can look into supporting that file format.

indygreg
07-02-2012, 01:20 PM
i am just using the axis video server model S241. i believe all axis security cameras and video servers have a small app that they download but i don't remember the details. axis just works (and they are one of the most popular security cameras out there so i suspect you have or will encounter them).

here is my interface shown on my desktop and on the ipad and then showing the video window on the ipad in safari. i have never programed for IOS so this may be a stupid suggestion but isn't there some way that you can just open up a browswer at the coordinates that the user specifies? then it would support anything the browser supports. i know there are third party browswers for IOS so i don't think there is an apple restriction but maybe there isn't an open source browser or widget available...

http://www.youtube.com/watch?v=F6lIILNq170&feature=g-upl

part of the problem seems to be that it looks like you are refreshing the browser where the video is running rather than just letting the video run and snapping images of it so about every other refresh it sends a white screen where the window has not loaded yet.

greg

brianmount
07-02-2012, 01:47 PM
And what is the type of the file being displayed in Safari? Does the URL include a file name with a suffix that would indicate what type of video is being displayed?

Dean Roddey
07-02-2012, 02:01 PM
One way to do it probably would be to just launch with whatever URL they provide. If it doesn't work, that's their issue to work out. Then set up the RIVACmd so that it includes an optional refresh. If it's zero, don't do any and assume that it will display whatever is required.

That way, you provide the functionality for them to use and it it doesn't work or invokes some other program, well that's an iOS thing and not something that's your fault or anything.

brianmount
07-02-2012, 03:48 PM
Yes, I could just pass the URL to the browser, and I should probably support that sort of thing anyway. But since the iPhone and iPad only show one app at a time, it would be kind of a pain for the user, since once the user was in the browser, returning to CQC would require exiting the browser and then finding and tapping the CQC icon.

The reason I didn't shoot for a solution that would support streaming video, though, is that lots of things in iOS, e.g. YouTube, are handled by switching to a dedicated app, which makes me wonder if the device would have trouble with mixing video and CQC at one time. But again, if I can get some additional information on exactly what sort of format is being used to stream video to Safari, I can read up on the possibilities. Greg's video shows that Safari can in fact stream video in at least that format.

potts.mike
07-02-2012, 04:18 PM
I thought you could embed a safari window in an iOS app? Meaning you wouldn't need to leave the cqc app.

brianmount
07-02-2012, 04:24 PM
Sort of. It's not Safari itself, but they provide a Web View class which behaves more or less like an embedded browser window. From what I have read, the performance is not that great. I encountered many posts on the Web from people trying to avoid using it or improve its performance. I am in fact using an offscreen instance of the class to render the snapshot that I then display in my app. But between the performance concerns and the fact that, as I have said, media playback is usually handed off to a dedicated app in iOS, I wasn't sure that a full-on embedded browser window was a good idea.

And again, if I can get some more information about the nature of the video format that people are streaming in Safari, I can do some additional research.

indygreg
07-02-2012, 04:26 PM
Hey Brian. the axis products (cameras and video servers) can do MJPEG or MPEG4. i am using MJPEG. here is a page from the manual.

greg

Video stream types
Motion JPEG
This format uses standard JPEG still images in the video stream. These images are then displayed and updated at a rate sufficient to create a stream that shows constantly updated motion.
The Motion JPEG stream provides excellent image quality and access to every individual image contained in the stream.
Note that multiple clients accessing Motion JPEG streams can use different image settings.
MPEG-4
This is a video compression standard that makes good use of bandwidth, and which can provide high-quality video streams at less than 1 Mbit/s.
The MPEG-4 standard provides scope for a large range of different coding tools for use by various applications in different situations, and AXIS 241Q/241S provides certain subsets of these tools. These are represented as Video object types, which are selected for use with different viewing clients. The supported video object types are:
•Simple - sets the coding type to H.263
•Advanced Simple - in Axis products, this sets the coding type to MPEG-4 Part 2
AMC (AXIS Media Control) supports both object types, while QuickTime™, for example, requires the Simple object type.
When using MPEG-4 it is also possible to control the bit rate, which in turn allows control of bandwidth usage. CBR (constant bit rate) is used to achieve a specific bit rate by varying the quality of the MPEG-4 stream. When using VBR (variable bit rate), the quality of the video stream is kept as constant as possible, at the cost of a varying bit rate.
Notes: • MPEG-4 is licensed technology. AXIS 241Q/241S includes one license for the decoder
required for viewing in AMC. Installing additional unlicensed copies of this decoder is
prohibited. To purchase more decoder licenses, contact your Axis reseller.
• All clients viewing the MPEG-4 stream must use the same image settings.
MPEG-4 protocols and communication methods
To deliver live streaming video over IP networks, various combinations of transport protocols and broadcast methods are employed.
•RTP (Real-Time Transport Protocol) is a protocol that allows programs to manage the real-time transmission of multimedia data, via unicast or multicast.
•RTSP (Real-Time Streaming Protocol) serves as a control protocol, to negotiate which transport protocol to use for the stream. RTSP is thus used by a viewing client to start a unicast session, see below.
•UDP (User Datagram Protocol) is a communications protocol that offers limited service for exchanging data in a network that uses the Internet Protocol (IP). UDP is an alternative to the Transmission Control Protocol (TCP). The advantage of UDP is that it is not required to deliver all data and may drop network packets when there is network congestion, for example. This is suitable for live video, as there is no point in re-transmitting old information that will not be displayed anyway.
•Unicasting is communication between a single sender and a single receiver over a network. This means that the video stream goes independently to each user, and each user gets their own stream. A benefit of unicasting is that if one stream fails, it only affects one user.
•Multicast is bandwidth-conserving technology that reduces bandwidth usage by simultaneously delivering a single stream of information to multiple network recipients. This technology is used primarily on delimited networks (intranets), as each user needs an uninterrupted data flow and should not rely on network
routers.

indygreg
07-02-2012, 04:41 PM
just read your last post. if there is a web view class it seems to make sense to support it. i would think it would be faster and lighter weight than running that class off screen, grabbing the bits from it and sending them to a different object on screen? What Dean said makes sense - let us deal with whether or not the ios device can see the stream over the network, etc.

i would be happy to test it.

greg

pjgregory
07-04-2012, 10:58 AM
On a related note, could you explain how the Web Image is refreshed on the iPad. In my system, my security cameras upload a new image to my web site every 1 minute. One of my templates has two Web Image Widgets, which point to the the URL's of the two camera images. However, I cannot make these refresh automatically.

The best I can do so far is whenever I load the security template, I use a Template Pre-Load Action to do a

Camera::SetImage( URL )

command for each camera, which seems to refresh the images. Is the way I am surposed to do it, or can I get the Web Image widget to refresh automatically on a timed basis? Will your new support for security cameras (not yet documented) offer an alternative? I seem to remember reading a recent post that says that Template Events are not supported in the iPad client. Otherwise I suppose I could add a recurring 1 minute timer and use that to issue the Camera:SetImage(URL) commands.
PJG

daddyd
07-09-2012, 04:55 PM
Am I the only one getting the following:

READ ERROR
The operation couldn't be completed.
Connection refused.

This is after a successful update and multiple uses. I get this across 3 different IPads (gen 1, 2, and 3).

AceCannon
07-10-2012, 06:21 AM
I waited awhile before updating, it didn't look like anyone complained of problems that would effect me. But. . .

On my iPhone 4S, the interface is displayed, but certain areas of the template do not respond to button presses. I have tried every permutation of the Optimization and Protocol settings.

More specifically, in low-resolution mode (which I use most often, scrolling the interface around on the screen) the buttons on the left-most portion of the template respond normally, prob about a third of the template. Anything to the right of that is displayed but does not respond to touches.

In high-resolution mode, things respond farther to the right. Only the far-right 1/4 of the template does not respond.

So for now, I will not upgrade my other iOS devices.

brianmount
07-10-2012, 07:16 AM
daddyd,

What version of CQC server are you using? My guess is that it's not the latest. That's OK -- the app should work with older versions. You just have to set the protocol version to a lower number. In the settings for the connection, you can select version 1, 2 or 4. I think 4 is the default. Try setting it to 2 or, if that doesn't work, 1. Now in theory the app is supposed to show a more helpful error message. I thought I had fixed that -- I'll revisit the issue. But I'm hopeful that downgrading the protocol verison will fix your problem. If it persists, definitely let me know.

AceCannon,

Someone else had a similar problem. I haven't been able to reproduce it yet, but I'll keep looking into it. Sorry for the trouble.

paul
07-10-2012, 11:58 PM
I am having same issue.
Im running 4.1.906 and selecting version v1 v2 or v4 doesnt do a thing.

brianmount
07-11-2012, 03:19 AM
Paul,

Are you having the Read Error issue or the button press issue? I wasn't sure.

paul
07-11-2012, 04:53 AM
Button press issue.

brianmount
07-11-2012, 05:36 AM
OK, yes, that makes sense, then. The protocol version wouldn't be relevant for that. I was talking about it in relation to the read errors. We are still investigating what could be causing the button press problems for some people. How big is your template?

paul
07-11-2012, 02:25 PM
OK, yes, that makes sense, then. The protocol version wouldn't be relevant for that. I was talking about it in relation to the read errors. We are still investigating what could be causing the button press problems for some people. How big is your template?
My templates are 800x480

brianmount
07-15-2012, 06:29 PM
All,

I can't figure out what could be causing some people not to be able to press their buttons. Unfortunately, I think I need some help from the affected users. I don't have a CQC system myself. My traditional approach has been to get a sample running on Sam Vimes' server and test that way. But he is starting a new job, and doesn't really have time to help me these days. So I need someone to set up a non-working template to which I can connect to see what the problem might be. The template should just have a couple of buttons that cause a message to pop up -- one button in the upper left, where presses apparently still work, and one or more buttons in the bad part of town, down and/or to the right, which don't respond. If someone can set up something like that, I'll fire up my debugger and take a look. Failing that, I don't know how to investigate the problem, since I have no problem pressing buttons on Sam Vimes' template which appear to respond correctly. Thanks.

Dean Roddey
07-15-2012, 07:00 PM
If I had to take a wild guess it would sound like touches are maybe not accounting for rotation or something? So they work over as far to the right as the template is tall because the touch is being reported relative to the (relatively) rotate coordinate system? If so, making one shorter would reduce how far to the right they would work, so that would be fairly easy for someone to do a quick test of just to see if my purely wild guess idea is correct.

brianmount
07-16-2012, 07:54 PM
That's possible, but I just don't have enough data to know. If people can at least let me know whether the program is working for them, and what version of iOS, what device and what version of CQC they're using, that would help. At this point I'm not even sure that it's working for anyone, which is unsettling.

paul
07-17-2012, 01:37 AM
It didnt start happening to me until upgraded my iphone to the latest version and the version i was on prior to that was the latest too. Something went wrong with the latest version put out i would think.

brianmount
07-17-2012, 03:48 AM
Yes, it would have to be the latest version of the app to see the problem, I think. Can other people comment on their experience? Or can someone set up an example non-working template for me?

zra
07-17-2012, 06:13 AM
wish i could help brian, but ive had no issues on an iphone 4 and ipad 2's with 5.1.1

the new version of the client works great.

brianmount
07-17-2012, 06:31 AM
Well that's good news, at least. So even on an iPad 2, with its larger screen, you're able to put buttons anywhere on the template and successfully press them. Is that right?

zra
07-17-2012, 06:40 AM
yes, i havent noticed any issues

zra
07-17-2012, 06:49 AM
ok. on second thought, but im not certain this is related to the new client version, but i have noticed that my cover art brower is not displaying some movie images.

i havent read the entire thread thus far, so im not sure if this might be related.

pjgregory
07-18-2012, 04:18 AM
2.11 ..........can also be set up to show images from security cameras and what not (instructions on how to do that are forthcoming).


Have these instructions been posted somewhere and I have missed them, or are you still working on them?

PJG

brianmount
07-18-2012, 05:39 AM
The security camera instructions are at: http://www.mountford.net/cqcclient/usersguide.html, in the RIVA Command Messages section.

SamVimes2
07-18-2012, 08:59 AM
Hi team,

Sorry for the delay, but now I am returned from travels. I had to update my server to the latest betas to load up paul's template, but I can reproduce the button-press problem with high-res off and multi-page templates. We'll track down the issue; thanks very much for your patience.

brianmount
07-19-2012, 06:09 AM
When I look at the template, button presses work if the button was displayed on the screen initially, but not if you have to scroll over to it. So on my iPad, all the button presses work, because the whole template is initially visible. On the iPhone, if I start in portrait mode, I can only press the left-hand column of buttons, because that's all that appear at the start. If I start in landscape mode, I can press buttons in the first two columns, but not the ones at the bottom of each column, because they aren't onscreen at the start.

Those of you who are having problems, does that describe your experience as well?

paul
07-19-2012, 01:33 PM
When I look at the template, button presses work if the button was displayed on the screen initially, but not if you have to scroll over to it. So on my iPad, all the button presses work, because the whole template is initially visible. On the iPhone, if I start in portrait mode, I can only press the left-hand column of buttons, because that's all that appear at the start. If I start in landscape mode, I can press buttons in the first two columns, but not the ones at the bottom of each column, because they aren't onscreen at the start.

Those of you who are having problems, does that describe your experience as well?
Yep thats my issue

brianmount
07-23-2012, 07:28 AM
OK, I think I have found the issue -- a one-line fix is required, followed by the whole Apple approval process.

paul
07-23-2012, 01:43 PM
OK, I think I have found the issue -- a one-line fix is required, followed by the whole Apple approval process.
How long will that take?

brianmount
07-23-2012, 05:15 PM
Usually a week and a half to two weeks. I submitted the new version ten minutes ago, so we'll see.

brianmount
08-02-2012, 12:27 PM
It was approved a couple of days ago. Let me know if it fixes the problem.

paul
08-02-2012, 01:52 PM
It was approved a couple of days ago. Let me know if it fixes the problem.
Yep fixed it for me, thank you

AceCannon
08-02-2012, 07:48 PM
Fixed for me, as well.

Thanks!

Bodshal
08-12-2012, 06:19 AM
The reason I didn't shoot for a solution that would support streaming video, though, is that lots of things in iOS, e.g. YouTube, are handled by switching to a dedicated app, which makes me wonder if the device would have trouble with mixing video and CQC at one time.

Coming to this discussion a bit late...

HTML5 video is rendered by the browser in-situ. Youtube transfers to the Youtube app because it's flash video, and Apple refuses to support flash - so they made an app to make Youtube work. (which apparently it is handing over to Google to support in iOS 6)

I've noticed Youtube working in the browser of late, meaning that Youtube sometimes uses HTML5 video.

Since most IP security camera vendors are usually about 5 years behind the curve, it'll be some time before they support HTML5 I suspect. :)