Video compression on Pocket PC....

P

Peter Morris

If you are short of time please feel free to skip the monologue and go
straight to the question at the bottom of the post :)



In my search for a video compression library for the PPC I came across a
company named KTTech (www.kttech.com) who's boasts seem too good to be true.
I emailed the company asking for information but received no reply. I few
days later I phoned and left a voice mail. A few days later I still not
received a reply so I emailed again and said that so far I am not impressed
with their conduct, I would like to see a demo + I want pricing information,
and this is the last time I shall write. I received the following email



============
Thank you for your interest in KT-Tech. At present, we are licensing our C++
SDK to OEM's for integration into their applications. We charge enterprises
a negotiated per month fee for use of our SDK in development plus a royalty
stream based on distribution and market share of the developed application.

If you are interested in a non-exclusive license of our SDK, please supply
further details about your company, your application, identified market and
time estimate to first deployment/market.
============


To me this means
01: I pay a monthly fee to write my software
02: The customer pays a recurring fee per seat
03: The amount of the runtime license depends on
A: What the application is
B: The market share of the application

What a rip off! I wrote back to tell them that I found their pricing to be
extortionate, and that I have no idea if I am interested in their SDK or not
because I have no idea if it is any good or not. The reply I received was
simply


"From your response, it does not appear that there is anything further to
discuss."


I have just had the pleasure in writing back to tell him the name of the
multi-billion £ per annum turnover company I am developing the application
for and approximately how many employees this company has using Pocket PC's
that will have this software installed. I expect he is now "as sick as a
parrot" (whatever that means). I'd really advise against doing any business
with this company, and I strongly advise that you do not have any dealings
with them. Judging from comments on the web posted by people that have seen
their "keep your head still and just move your lips" demonstration I suspect
that they do not have the product they claim to have.





Anyway, now to my question! I really need to be able to generate a series
of bitmaps on a PPC and stream them as video to a remote PC, the bitrate
needs to be as low as possible and I need a minimum of 2 frames per second
(320x240) and hopefully more. If anyone can help I would *really*
appreciate it!


Thanks

Pete
 
G

Guest

First, with regard to the other company, if they have a product that does
what you need I'm not sure why you consider it extortionate that they'd want
to get paid for its use. Per-seat licenses (with an up-front SDK charge)
are not uncommon, especially for high-end stuff that's used in an
enterprise. They have to make money to pay employees and keep the lights
on. If they want $1,000 plus $2 per device that could end up costing less
than a couple months of your development time, and it's ready now - not in a
couple months.

Now to your question. You've been asking about this for a few days now and
the answers aren't changing. The ways to achieve it are to either "screen
scrape" by doing screen captures and shipping them (like remote display, for
which we've already told you where to get the source) or to create your own
display driver and have it send the data. A display driver would be able
send just updates rather than entire screens, so it's likely to be more
efficient. It's also going to be more work. If you've not done a display
driver before, I'd guess a couple months. If you don't have much C/C++
experience, that number gets bigger. Possibly much bigger.
 
P

Peter Morris

First, with regard to the other company, if they have a product that does
what you need I'm not sure why you consider it extortionate that they'd
want to get paid for its use.

I don't, but I think that *their* pricing scheme was extortionate.
Per-seat licenses (with an up-front SDK charge) are not uncommon,
especially for high-end stuff that's used in an enterprise.

But don't you find it pretty uncommon that a company bases its license fees
on
A: The size of your company (rather than the number of app users)
B: The type of application written (which really is irrelevant)
C: How much of the market share your application has (which is also
irrelevant)

I have never seen a license fee based on "how much we can get out of you".
When a company provides a service it should know how much it needs to charge
for this service, adjusting that based on the income of the customer is just
wrong if it does not affect the service supplied.

Now to your question. You've been asking about this for a few days now
and the answers aren't changing.

I had a few suggestions, followed them up, got nowhere. I was posting for 2
reasons
1: Gob smacked at the response from this company
2: In hope someone else had an idea that they were holding back on because
others had offered seemingly better answers (it happens)

The ways to achieve it are to either "screen scrape"

To do this requires some kind of clever video compression, hence my
requirements, otherwise the datasize is too large.
create your own display driver and have it send the data.

Yes, you (or someone else) did suggest this approach earlier. I've tried
finding information on this but was unable to, I did ask if the original
poster knew where to get info on this but there was no reply.



Regards

Pete
 
P

Paul G. Tobey [eMVP]

You can get video driver samples with the Windows CE evaluation edition
which you can download from www.microsoft.com. Presumably, you'd provide the
upper layer interface to GWES so that you receive the drawing commands from
all applications in the system, and then you'd call the actual display
driver so that the actual screen drawing occurs. I don't recall hearing
that anyone has done this, so no doubt there would be a lot of
experimentation.

Paul T.
 
G

Guest

The ways to achieve it are to either "screen scrape"
To do this requires some kind of clever video compression, hence my
requirements, otherwise the datasize is too large.

2fps isn't that fast. You could scrape and compress (gzip the stream maybe?
we just ported zlib to CE so that's open source and free) and probably get
2fps. If you can use a lower color depth in the capture that would help
too.
Yes, you (or someone else) did suggest this approach earlier. I've tried
finding information on this but was unable to, I did ask if the original
poster knew where to get info on this but there was no reply.

Again I'll point to the Platform Builder source. It has a few sample
display drivers.


--
Chris Tacke - Embedded MVP
OpenNETCF Consulting
Managed Code in the Embedded World
www.opennetcf.com
--
 
P

Peter Morris

Hi Chris
2fps isn't that fast. You could scrape and compress (gzip the stream
maybe? we just ported zlib to CE so that's open source and free) and
probably get 2fps

Do you know of a JPEG library for C# on compact framework? I think that'd
be more useful!


Thanks

Pete
 
G

Guest

JPEG is built in, so it shouldn't be too tough. You probably won't find an
external library that actually does the compression though because it's a
licensed technology. If you want an image format, GIF will provide better
compression of typical screen views than JPG will. JPG is better for
photos.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top