Developing a video recorder - Windows Mobile Development and Hacking General

Hi,
I'm a newbie developing for PocketPC. Can anyone point me how to start developing a video recorder using the built-in camera on a XDA-III? I also need to have access to individual frames to perform some image interpretation such as motion detection. Any help is usefull. I use Visual Studio 2003
Thank you,
Miguel

the easy way would be to get some code as to how it's don on pc because
how you access frames from the streams are the same if you use a pda or pc
the files are still mp4 or avi or ...... what you set them to
if you grab and then work with the ripped file
if you want to do it real time you face 2 issues
1 the camera API is not public from HTC
2 the cpu's in pda's even though they are fast Mhz are much much slower then even pc cpu's of the same speed so real time checking the stream could be impossible

Hi Rudegar,
Thanks for the reply! On the PC i usually use a wrap library for DirectShow i don't think it's available for the PocketPC. Do you know where i can get the camera API?

did a search in this foruk for camera api and here are some hits i got
http://forum.xda-developers.com/viewtopic.php?t=4950&highlight=camera+api
http://forum.xda-developers.com/viewtopic.php?t=12046&highlight=camera+api
http://forum.xda-developers.com/viewtopic.php?t=11726&highlight=camera+api
http://forum.xda-developers.com/viewtopic.php?t=11200&highlight=camera+api
http://forum.xda-developers.com/viewtopic.php?t=11095&highlight=camera+api
http://forum.xda-developers.com/viewtopic.php?t=10172&highlight=camera+api

Wince50 provide some directshow api ... can you suggest some tutorials ?

Related

C#.Net, compact framework - capture streaming video from the camera

Hello,
I was wondering if anyone could point me in the direction of some C# code for utilising the camera of my PPC, so I can stream video (to ultimately use my PPC as a webcam of sorts).
a link to some sample code would be greatly appreciated, as I cant seem to find anything useful!
Cheers,
Dave.
Google "CameraCaptureDialog"

slingplayer performance

I am sure anyone who has had experience of it will agree slingplayer is one of the best applications for a pocket pc.
However on the Ameo, which is the variant I have, its performance is a lot to be desired. Whether I use it on the wifi or HSDPA it seems to be jerky all the time (not a very good user experience). The stats say the 300kb/s to 400kb/s is being achieved but the frame rate doesn’t go much above 10 (is it the darn video driver again?). The settings i use are:
Enable slingstream optimization
High action
video resolution : 320 by 240
audio : mono low
Managed to borrow a dell Axim X51 (qVGA screen, 412Mhz version) the other day, and tested its slingplayer performance and frankly was amazed at the difference. It was managing 30 frames per second and was super smooth whether portrait or landscape (same slingplayer settings by the way).
Ameo has the same processor as the Dell only faster, different graphics chip though.
Is it because Dell has a proper video driver or the fact that it is only a qVGA resolution i.e. 4 times less area to display. You will note that best performing devices as far as SPB graphics benchmark are qVGA.
I have read on threads people being pretty happy with slingplayer performance but that’s a subjective statement.
Could people who have used slingplayer on any variant of the athena, i.e. advantage X7500, X7501, dopod 1000 etc. state the frame rate and the bandwidth they are achieving (either cellular or wifi connection) so we can narrow down the problem.
1) Lack of proper ATI driver on all or some of the athena variants.
2) VGA screen taxing the processor too much (shouldn't be as the slingplayer application is still trying to display qVGA resolution, assuming 4 pixels displaying the same image is less strenuous on the processor than displaying 4 distinct images)
3) Some other reason such as splingplayer not optimized for the ATI chip?
Any feedback will be greatly appreciated
I tried this last night and I am getting 10-15fps whether connected to my wi-fi network or via 3G and my vid is jerky as well. Disappointing but hopefully will get better... I am using the default settings (slingstream optimization and medium action).
EDIT: FWIW, the Axim x51v is VGA 640x480...
EDIT2: My bandwidth is 200-300kbps whether connected to wi-fi or 3G.
assuming you guys are using win media player to play the videos, you are probably running into the same issues I had trying to stream from ORB to my ameo, the fix was to use the windows mobile 5 (windows media video 9) codecs for windows media player ! simply unpack the attached files and copy into your windows folder then reboot.
apperntly there is an issue with the Windows media video 10 codecs supplied with win mobile 6 !
ice_coffee said:
assuming you guys are using win media player to play the videos, you are probably running into the same issues I had trying to stream from ORB to my ameo, the fix was to use the windows mobile 5 (windows media video 9) codecs for windows media player ! simply unpack the attached files and copy into your windows folder then reboot.
apperntly there is an issue with the Windows media video 10 codecs supplied with win mobile 6 !
Click to expand...
Click to collapse
The slingplayer mobile application is self contained (no WMP involved) and plays live streaming video only...
same problem here
billu said:
1) Lack of proper ATI driver on all or some of the athena variants.
2) VGA screen taxing the processor too much (shouldn't be as the slingplayer application is still trying to display qVGA resolution, assuming 4 pixels displaying the same image is less strenuous on the processor than displaying 4 distinct images)
3) Some other reason such as splingplayer not optimized for the ATI chip?
Any feedback will be greatly appreciated
Click to expand...
Click to collapse
The reason is that SlingMobile is using DirectDraw. The DDraw API on WM is slooooow. Thats the reason players like PocketTV or TCPMP went out of their way to code driver support for GPUs
The X7501 def has the ATI Imageon drivers there (I pointed this out on another thread), but it doesnt matter much. DDRaw+ATI=slow. DDRaw+Intel 2700=not TOO bad (hence the X51V working)
Basically, every PPC ever made from the Axim X51V forward should have had the Intel 2700. That they didnt has crippled the platform when it comes to video. The Imageon has potential, but ATI seems very hard to work with and getting it optimized is NOT easy.
The Marvell may save this situation if devs can start to take full advantage of WMMX2. Early reports show that with straight DDRaw, the Marvell proc alone is STILL not up to Intel 2700 standards, but Id bet that with direct WMMX2 enhanced code, it would be.
you can increase the buffer, but you have to do it in the registry, once you change it you cant go back into settings and change anything without changing the buffer back to 4 seconds
hklm\software\sling media\slingplayer\player
precharge duration = 10000
the 10000 in milliseconds
Thanks for the comments.
So it seems that the only hope is if an update of the slingplayer software decides to use the ATI Imageon driver.
Just to clear something up, the Dell I used was a X51 (320 by 240) and NOT a X51V (which is 640 by 480)
Is it possible to get the slingplayer to use the ATI driver using a registry tweak??
I would assume if they had developed ATI support they'd expose it. It may be possible that there is some undocumented dedicated support for the Imageon, but I havent seen anything.
I have just got my slingbox this week and I liked the idea of been able to watch my sky+ recordings, but playback via 3g is watchable but only about 15 fps , there is no improvement using wifi? However my cctv camera works smooth and looks great- possibly becouse its a black and white camera?
As a previous poster said orb works very good playing back full size divx from my home pc via either wmp or tcpmp without problems over 3g? but orb requires the pc to be on all the time, which is why I got the slingbox.
I just hope someone with more skill and knowlage than myself can sort a solution
Sling has released a new version of their mobile player that uses GDI instead of DirectDraw. Has anyone tried this on their Athena to see if it improves performance?
citivolus said:
Sling has released a new version of their mobile player that uses GDI instead of DirectDraw. Has anyone tried this on their Athena to see if it improves performance?
Click to expand...
Click to collapse
I tried GDI but the frame rate dropped off significantly.
There are 3 major problems with SlingPlayer on the Athena. As said before, it does not use the ATI video driver. But also the maximum supported resolution is only 320x240 and the maximum bit rate is only 600kbs. So it's never going to look as good as TCPMP for example.
The best setting to change to make SlingPlayer watchable is to specifically set the video bit rate to 600kbs. Unless this is done, the SlingPlayer never seems to use more than 300kbs and the result is very poor video. With 600kbs bit rate and 320x240 resolution, I get about 15fps on average. If I drop the resolution to 224x176 I get nearly 30fps.
My Slingbox video stream is 77kbs
I hope any body can help me with this issue.
I have my slingbox set in NY,USA, and I'm now in Bahrain my internet provider speed is 2mbs download/ 512 kbs, and the internet provider in NY is verizon at 6mbs/ 760kbs upload.
However, every time I start my sling box on my laptop (Dell D610), the video optimization start at 600-700 kbs and end up in 2 min in 77 kbs and stop there.
I don't know, if this is something has to do with the setup or what exactly...?
Can any body help me with that??
Thanks
Are you saying you have a problem using your slingbox on your Athena or your laptop? If your laptop then you are posting in the wrong place!
anyone figure out the optimal settings for our athena's to get buffering/playback more manageable?

Video Capture Encoder

Hi,
I developed and app for win.mob.6 for video capture live streaming using direct show filter. WMV9 encoder has very low performance of framerate no more 4 fps with lower res.
I am testing the app on HTC touch dual. I tried to enum all filters availables, but I found only WMV9 Encoder. The original app cam coder can create 3gp file with h263+amr-nb. I'd like to know how is possibile this !!! no h263 filter encoder are available.
I am looking for an htc WM5/6 model that can capture video frames encoded to 15 fps with a mid res 170x140.
help please.
thanks
Hi fala70,
I am sorry but I couldnt quite understand what it is your current status.
Have you developed the application and it is working or you would like to do it now?
What do you mean 'original' application. Are you based on an open source example or something?
Nice subject though!
This issue has been discussed quite a number of times (I asked the same thing a few months ago) but no resolution as come out so far. I think HTC does not allow its "private" encoders to be "enumerated".
My status it that I want understand if is possible to use an other codec encoder different from WMV9. WmV9 is too slow.
HTC-Master said:
Hi fala70,
I am sorry but I couldnt quite understand what it is your current status.
Have you developed the application and it is working or you would like to do it now?
What do you mean 'original' application. Are you based on an open source example or something?
Nice subject though!
Click to expand...
Click to collapse

Smartphones noob planning to buy HD concerned about video playback

Hello,
i'm really noob to smartphones... my last phone being a very old Nokia (5 or 6 years old) which can just call and send sms^^
I am now considering buying a HTC touch HD and what i am looking for is mostly:
a) big screen for reading comics
b) big screen and video quality for watching movies
c) gps
d) decent phone (call and sms)
My biggest concern, reading many topics on the subject, is the quality of video playback and the need to convert video files.
Is there some smartphones (with of course the appropriate viewer programs) which can manage any video (divx, xvid...) with good results? (without the need of converting video files)
Or it's the same situation for any phones on the market?
The HD can manage xvid files with core player? I think i read somewhere they need to be converted too but i'd like to make sure.
Thanks a lot for any calrifications on the issue
I watched a divx movie using the core player sometime back. but now I tend to watch the bbc catchup programmes which are in wmv.
I dont know about reading comics on the screen but of the few time times that I have read my ebooks on it, I found that I had to constantly zoom in and out.
for the gps is quick ok. I use Quick GPS to get a lock on my position and then use one of Google Maps, Garmin XT, Live Maps and they do just fine.
I don't have much to say about the call and sms except maybe that it does the job well.
It's quite easy: video playback requires processing power and a driver system which allows to make proper use of it. In addition, it also depends on the formats, which require more or less processing power. I believe you will encounter the same difficulties on all the other smartphones at this moment. The TG01 looks promising, but it then still depends on the format of the video file.
Maybe it's just too early for the kind of video playback you are used to due to the Web 2.0 and the x86 processing power. Next year, the situation might look better on the mobile market.
i have had no probs in video playback in fullscreen, i think it works well.

[Q] Extracting frames from a video

Hello everyone,
I've been looking for a way to extract frames from a video for my Android App... The only things I found were related to the Java Media Framework, which I did not succeed to use since Eclipse doesn't seem to recognize the packages even though I've installed JMF on my computer.
What I need is to be able to get a video that is located on the SSD card of the phone (The video is recorded from the phone) and be able to separate all the frames of it, so I can make some processing out of it... Is there any other way than the JMF library? Or maybe can someone help me get JMF to work?
Thanks a lot in advance for any help at all!
You wont be able to do this from the phone. Transfer the video to the computer, then use a video editing program to save frames. You will probably have to save each frame individually, unless you can find software to do it automatically.
I really hope you do figure out how to do this, especially if you're doing it to make any sort of video editing app. And if you're making a video editor please put a rotate video option. I always film in portrait mode then realize unlike the camera there's no rotate.

Categories

Resources