DeskCamera ONVIF Screen Capture

By John Scanlan, Published Jan 05, 2017, 11:03am EST

Recording PC screens have historically been an expensive proposition, requiring dedicated hardware or specialized, proprietary software. However, some developers are attempting to change this, with applications which stream PC desktops via ONVIF.

In 2015, we tested Screen ONVIF.

Now, there is another option called, DeskCamera that claims ONVIF conformance plus improved performance, multiple monitor, webcam, and audio support.

We bought and tested this new application to see how it performs and test compatibility with systems including Avigilon, Exacq, Hikvision and Milestone.


** *** *****,****************** ******** *** **** machine ******* ** ******** VMSes/recorders *** *****, ********* Avigilon, *********, ******* *****, and ********* ****, ********* multiple ******* ******* *** built-in/USB *******.

*******, ***** ******* *** *** work ** *** ****** in ********, *********, *** Exacq. ****, ** **** ****** to ********* ********** **** Exacq *** *****, ****** RTSP ********* ****** ********.

*** ***** ***** **** compatible *****/*********, ********** ** a ******** *********** ******, with ****** *********** ********** *****, ******* ******* capture ******** ********** ******.


********** ********************** ********* *** ******** directly on***** *******. ******** **** ******** via ***** ** ***** 2 *******.

** *** **** ** our ****, * ****** license *** $** (**% off $*** ********). ******* per ******* ** ***** in ****** ********, ***** below. ********** **** ****** that ***********/********* *** ******* wholesale ******.

Competitive *******

***** **** **********, ***** is ** ***** *** other ****/***** ******* ******* software, ****** *****, ***** also ***** *** ~$***.

**** ***** **** ******* this *************, **** ** **** ********'* ****** *********** ******** ****** ********.


*** ********, ************, *********, and ********** ******** **** about * *******. *** ******* file (~****) *** ** downloaded directly **** ************* *******.

****** ******* ********** **** took *******, ***** *****:

********** **** ***** *-*% CPU *** ******* ** our *****, **** ****** resolutions ****** ******** **** resources ** ******.

Not ***** **********...

********** ** *** ***** ******* S **********, ** ******* users *** ******* ******** are *** ********* ** required ** *** *******. However, ********** ****** ** use *** **** ** the ******* * ****. Note **** ********** ** an ***** ****** *** tells ** **** **** their ******** **** ******** ONVIF **** *****, *** shows ************ ********.

...But ***** **********

******* *** **** ** conformance, ***** ****** ******* *** **** ** ******* to *** ********** **** machine ******* *****, ********* both *** ******* *** built-in ****** *** ** the *** **** ** configuration ********, ***** *****.



Resolution/Multiple ******* *******

*** ******* ********** ********** streams ** ******** (****) using *.***, *** ***** using *****. ****** ********** desktops *** *********, *** scaled **** ** ***** streaming ***********. 

** *** *****, ********* was *** ******* ******* size ***** ********** ********, with ***** ** ******* ******* *** ***** **% of *** ***** **** and ****** ** *** desktop. 

*** ******** ********** ********** displays, ***** ****** ******* issues ** *** *****, shown *****. **** **** the ******* **** ** relaunched ** ***** ** detect *** ********.

********** ******** *** ** streamed ** ******** ******** (using *** **** **/****) or ** ******** ******* (same **/********* ****), ********* on *** *** ******** best ******** *****-******* ***** devices. *** ******* ***** shows *** ******** *** a ****** ** ******** channels ** *** ****.

Audio/Webcam *******

********** **** ******** ********* from *****-**/*** ******* *** microphones, ****** **** **** these ******** *** ** in ******** **** ***** video/audio ********* ****.

*** ********* ***** ************ exam/certification ******* ** ** application *** ******/***** ********, to ******* ********* ********. Additionally, ******* ***** ** used ** ****** ******** webcams ** * ******** as * ****** ************ system, ****** ******* **** become **** **** ****** as ** ****** ****** have ******.

VMS/NVR *******

** **** **** ** add ******* **** ********** to ******** *****/**** ******* issue, ********* ******** ******* Center, Hikvision ****, *** ********* XProtect.

******* **** ***** ** multi-channel ** ******** *** Milestone (* ******* *** all ********), *** *** Hikvision *** ******** * different **** *** **** stream.

 ***** *** ****** ** connect, ****** *** **********/********* (shown *****). ********** ** aware ** **** *****, planning ** ******* ** the **** *******. ** were **** ** ****** to ***** *** **** (copying ****** *** **** ONVIF ****** *******).

************, ******* ********* ***** successfully ** ** *******/** Spectrum, *** *** *** stream ***** ** *****.

Versions ****

*** ********* ******** ******** were **** ** **** test.

  • **********: *.*.* ***
  • ******** ******* ******: *
  • ***********: *.*.*.******
  • ********* ****: *.*.********
  • ********* ********: **.**

Comments (48)


Have any tests been done using Axis camera station as the VMS, I have 200 sites world wide and around 600 PC that could use this.

We have not tested it, but I believe we still have a copy of ACS running. We'll try it and report back.

Would you be looking at a single screen? Multiple? Audio? Webcam?

Single screen , no audio have you carried out a test yet ?

any luck with the testing as I have tied and it does not work

Have you manged to get it working with Axis camera station 5 yet ? Single screen. All i need it to do is record what is on the PC screen back to ACS

DeskCamera works with Axis CS. You can contact me directly if there are any issues with this on your side.



DeskCamera developer

What would you use this for?  200 sites and 600PC's using it for what I guess is the gist of my question.

to record the pc screen onto axis camera station, I have just tried with no luck

Axis CS is supported now (DeskCamera version 1.6.1)

I don't understand. Why would anyone want to record desktop snapshot to VMS?
Why not using employee monitoring software such as IP-guard or SurveilStar?
It's cheap and much more function than VMS. For
motion search only?

NOTICE: This comment has been moved to its own discussion: Why Record Desktop Screen To VMS Vs Employee Monitoring Software?


The Milestone Screen Recorder supports an adjustable frame rate between 1 and 4 fps.  What frame rate does the DeskCamera support?  Looking at your video, it must be fairly high since your hand wave and web cam video looks smooth.

We were looking at a HDMI over IP hardware switching solution to view desktop video on remote workstations but this product looks like it will provide what we need.


Framerate in our tests was max, which is 20 FPS, I think.

Framerate is configurable by ONVIF. Or should be, anyway. It didn't work 100% of the time, but Milestone was fairly solid on the configuration side.

This is awesome, considering many companies are using PC's as registers. I feel like this would be easier than POS integration. 

While this a good solution for POS in the name of secondary verification the transaction data is not searchable.


The documentation states that it supports from 4 to 20 fps and for web cams it will honor the input frame rate.

Does the product support multi-streaming where I could view a live MJPEG stream and record a separate H.264 stream in Milestone from the same video source?


Good question! We've asked the developer to hop in this thread and answer low level questions. Hopefully that can clear some things up.

Hello Donald,

You are right, DeskCamera allows 4-20 fps for desktop sources, webcam frame rate is  delivered to the client software with no changes.


The multi-streaming is supported for desktop sources. Each video source contains 2 profiles by default - Main stream and Sub stream, also NVR/VMS can create additional profiles. So only thing you should do is to setup different encoder for these profiles and use one profile for live view, other one for recording.

But please note such behavior will start additional encoding session and will take additional CPU resources. In oposite, the CPU consuming will remain the same if you just share the same profile for all streaming tasks

For webcam sources you still can create additional profiles and setup different encoders for each profile, however only one profile will stream the video on the same point of time.


Thanks for the information.  I am downloading the trial license now and we will be purchasing several licenses to replace $10K hardware solution we were considering.

Off topic but since you are now living in the ONVIF device world, it would be very beneficial to have a software-based ONVIF device that can read video clips taken from action cameras and stream them.  Especially important would be to look at the video clip date/time meta data and treat the video clip as edge storage and send the video to the VMS to be inserted into the timeline at the right place (Milestone 2016 R3 supports inserting edge storage on the timeline).  This would allow video taken with action cameras to be integrated with other fixed cameras in the VMS for playback.  Just an idea for your company (we would buy it!).



Thank you for the idea. It seems very promising, the only thing is needed is to add into DeskCamera the functionality required by ONVIF Profile G, then it will allow any VMS/NVR which supports Profile G to interact with DeskCamera as edge storage device.

That will be a great addon to our plans for adding Video Sources constructor, when user can create own video sources based on any screen area and stream them like a new channel/video output. So that may be an new option in the constructor - to add a Playback video source with selecting a folder with video files.

I beleive that would be done in the nearest future, thanks again for the idea.


POS Monitor Recording ( already there for windows bas POS) with a data transaction capture for bith ASCII and Hex Transactions.

This could be sent along the same IP path on a different port. Products like Avigilon and Milestone could now have searchable data , screen capture, camera all tied together . You could also trigger alarms based on certain transactions such as VOID or No Sale.

just an idea for consideration 



Thanks for the Idea. However there would be few challenges - extracting POS data and letting VMS understand this. If extracting - that is a just technical issue, delivering to VMS may be more complicated.

Ideally such data should be injected as a additional Metadata stream inside main video/audio RTSP/RTP stream produced by DeskCamera. RTSP/RTP protocol supports this, and it could be done with DeskCamera. So you are right, that seems posible if VMSes will have a support for this.



I know today that Avigilon has a Text transaction engine built in so Deskcam would just need to be the source. There are built in principles for display in ACC so the data does not have to be an overlay.

Just a product expansion idea

Two other use cases, one of which I have a current customer request in public safety for:

Generate a ONVIF stream from a cellphone livestream for input into any VMS (not just a Milestone centric solution a la Milestone Mobile Push)

It would also be useful to extend the functionality to work from not just Action Cameras but the multitude of other lightweight security cameras on the market.  Any of the products in the class of cameras like Doorbell, Arlo, Dropcam etc would be of great benefit.



Thank you for the idea, I will keep in mind these features!



Let me see if I have this straight by running a scenario by you kind folks.  

We have numerous sites around the world that use their own CCTV system.  I can log into the individual NVR's / DVR's, but we do not stream a view back to our GSOC.  Could I set the head end monitor of those remote NVR's / DVR's up in a multiplexed screen and then use this product to mirror the view of those head end monitors on a single channel of our existing VMS here in our GSOC?  

I would not need to record the channel at all I would just want the view.  Then if we wanted to view the multiplexed image I could open that single channel full screen.  

New DeskCamera version(1.6.1) is released, as a response to the feedbacks we got here.

Now it supports:

- Nx Witness/DW Spectrum

- Axis Camera Station*

- By default it includes now an additional media profile with constant RTSP url(not related to the video source device name). Example: rtsp:// (screen2,screen3,....)


*-Axis CS works only with screen sources(multiple desktops is supported also) , doesn't work with Audio and webcam, also AxisCS doesn't support Onvif authentication (WS-Security) so DeskCamera has to have empty Onvif user in order to work with AxisCS.

I didn't test the audio function but I have confirmed that the video streams worked in Spectrum. I downloaded the trial after I saw this article and found the same issue with Spectrum that this article mentioned. I then reached out to the company 2 days ago and they responded almost immediately that they were aware of the problem and were working on it. I then got an email which would have been about the same time Mykhaylo responded here that the issue has been resolved in Spectrum. That's one of the fastest responses I have ever gotten and now it looks like another feature is available for Spectrum that can prove to be useful.

That's when you know you are dealing with a company that isn't simply re-branding something. If you report a bug to Network Optix, I have found them to also be responsive and willing to resolve issues. Then when they release an update, you must wait at least a month for DW Spectrum to release the same version. This is like a snails pace. This is really unfortunate as the update before 2.6 broke camera notification emails so it took forever to get them back. For instance, 2.6 was released October 5, 2016 from Network Optix, and wasn't released through DW until December 6, 2016. I understand testing software before releasing but when you already have bugs that broke already working functions, there should be a much faster turn around to release.

Thanks for the article and thanks to DeskCamera for the quick response and functional software.


Thanks. Curious - what does it take technically to support a new VMS? What specifically needed to be done, for instance, to make it work with ACS and why only with screen sources?


Thank you for asking this.

DeskCamera is based on WCF(windows communication foundation) which is not very tolerant to some SOAP or XML problems which could persist in requests from some VMSes. However it's very flexible and easy to customize, we only need to recognize the problem by sniffer and adjust DeskCamera services for this particular case/VMS. So we only need more feedbacks with test results.

As example - ACS sends extra non ONVIF SOAP header. That header contains special attribute meaning that server must understand it. But DeskCamera doesn't understand this header since that not required by Onvif spec and generates a fault error meaning that header was not understood. That is why it was not working. We will have to change this default behavior and continue processing such requests in order to make DeskCamera working with ACS.

Regarding webcamera - I didn't find any errors while ACS was working with webcam video source from DeskCamera, everything is the same like for screens, even the light on webcamera starting flashing, but then stops. I guess it may happen because the actual webcamera resolution in video stream may be differ from resolution reported by ONVIF stack for webcamera channel. For webcamera we always report 640*480*20 fps, but the video is transmitted in original webcam resolution and fps. All other VMSes and NVR tolerant for this, but not ACS. That is why ACS works with screens sources, where the resolution and fps are the always correct and the equal in Onvif and actual streaming, and doesn't work with webcam.

With Spectrum there was a similar issue, it sends not properly formatted GetStreamUri command(request for a RTSP/video url), so strict WCF deserializer can't parse it and throws an fault code. So we only was needed to fix the command on server side in case if we find that particular problem with Spectrum.

Exacq is still not fixed. That is also a case with SOAP/xml formatting. Exacq sends invalid namespace prefix inside it's SOAP commands. This one:


Such SOAP envelopes marked as invalid on the very early stage on the call stack, where we not having a control yet.

So usually that is just a minor thing that could be easily fixed/adjusted on server side for the particular VMS case.

Hope that makes a bit clear the technical part of a supporting new VMS you asked.


Thanks, that is very helpful. I passed your comments on to Axis and Exacq so that they can review.


Thanks John,

Let me know if additional details needed



We also found the root of the issue and were about to release the version wich works with DeskCamera. But saw release notes on your site - that you already fixed it on your end.  So we keep all as is:-). Thank you Mykhaylo.


Quick functionality question for you.  Can this product work in "stealth mode?"

Use case:  IT manager that suspects a user to be abusing thier internet privileges by got to not safe for work (NSFW) sites.  Working with HR and the Loss Prevention team, can this program be installed and run on the employees PC without thier knowledge?  I know of a couple situations where this would have helped...


there is no a "silent" installation at this moment.

However I think system administrator can manage it on his side, but there is a license importing/activation step which requires involving of a PC user. Also it may require some aditional privacy agreement, to acknowledge the user aware about video surveillance on the PC he is running.

It could be developed what you mentioned, but not exist currently..



We tried to test this software recently but unfortunately it requires an Internet connection to activate the software license.  Our facilities do not have nor do they allow any Internet connectivity.  Statistically I have to believe there are a lot of video surveillance systems with no Internet connectivity.

They may support offline activation in the future but presently we are unable to field this product.

Mykhaylo just gave as an updated version of the DeskCamera software that supports offline activation.  We tested it on an HP Z240 workstation running HD resolution and it works well updating smoothly in the Milestone Smart Client.

We just released a new version with Audio improvements. PCMA encoder was replaced by PCMU. That helped to resolve audio issues with many VMS including Milestone XProtect and Avigilon.

Trial period could be renewed by request.




DeskCamera developer


Update: DeskCamera is now officially listed on Genetec's supported devices list.

Just noticed it in the dropdown to add a device in Security Center:

Merry Christmas and Best Wishes for the upcoming New Year to Everyone!

Here is an DeskCamera Recap of 2017 for those who are following the thread


DeskCamera Employee

And this is why I keep old IPVM emails I don't always have time to read, but I know could have some valuable info! This software is probably going to do exactly what I have been needing for awhile, but not quite for security purposes. I want to use this as a service and monitoring alert display for around the office. One PC in our rack, with different programs on different monitors. Then an IP video to HD decoder in every managers office. The decoders will rotate through the different monitors like it does for different cameras, showing things like summary status for service schedules, system alerts, office calendars, etc, on the different screens.

Now my challenge will be how do I make Windows think it has more monitors connected than there actually are? Because I don't want to mount 3 or 4 monitors in a rack just to get the multiple monitors up in Windows.

Maybe if it doesn't already have it, a suggestion for a component in the software to create in Windows multiple virtual monitors so it thinks it has multiple physical monitors connected. Then stream each of those monitors separately, and the HD decoder can rotate the displays in the manager's office. Or even better, an optional setting in the software itself to sequence monitor in the same video stream.

I knew I should have been a software developer.

Inspired by the Cut Milestone Licensing Costs 80% By Using Hikvision and Dahua NVRs (Tested)

Would there be any interest in DeskCamera doing the same* ?

I mean the ability to connect any ONVIF or RTSP or MJPEG or (advise any other camera) cameras to DeskCamera and have them available in Milestone(and other VMS) like channels from a single camera ("ONVIF Conformant Device (2-16 channel)" driver) . Actually the same what NVRs do in the report above, but with only 80 usd DeskCamera license . 


*The feature is not available yet, just checking demand

What kind of computing resources would be needed for 16 channels @ 1080p 30fps? Personally, the upside to having an NVR do the work is cuts out the Windows Updates and reboot downtime and usually cuts out any issue with software crashing. Will there ever be a Linux port of DeskCamera? Just as a heads up NxWitness and DW Spectrum offer restreaming capability in the form of RTSP for free without any licensing on both Windows and Linux platforms. it does not as far as I know present itself as a multichannel NVR just individual RTSP streams per camera ID.

What kind of computing resources would be needed for 16 channels @ 1080p 30fps?

I guess only little resources would be needed for restreaming ONVIF/RTSP cameras because transcoding is not needed in this case, only wrapping external cameras into local ONVIF channels and proxing original media. However the things could go worse with MJPEG cameras, where the first should be decoding process, then encoding to h264 and finally streaming to RTSP.

upside to having having an NVR do the work is cuts out the Windows Updates and reboot downtime 

Make sense, however I believe many NVRs are based on Windows also. But for sure, some tunning will be required for windows (i.e turn off auto updates, auto reboots, etc) 

Will there ever be a Linux port of DeskCamera? 

It will, but not in this scope

NxWitness and DW Spectrum offer restreaming capability in the form of RTSP

Milestone also offers restreaming with their ONVIF bridge. However that is a bit different thing and is not allowing to gather multiple external cameras into a single camera

In that case I can see this being useful especially if you're already using Milestone. Try to build in support for NxWitness and Exacq! If you could also build in RTMP stream support or whatever protocol a lot of the newer smart cameras use that would be cool as well.

DeskCamera already supports multiple channels - up to 20 (the software streams multiple PC monitors and webcams as channels). That works perfectly with Milestone, NxWitness, Genetec and other VMSes which does support multiple channel ONVIF devices.  The point is only external cameras support, not just  monitors and webcams.

Thank you for the feedback and the catch with RTMP

We recently released new DeskCamera 4.0 with exacqVision VMS support and many other improvements

Better Performance:

  • Hardware Acceleration on Intel, NVIDIA and AMD GPU adapters
  • Screen streaming with up to 60 FPS

New Features:

  • 3th-party RTSP and MJPEG streams converted to ONVIF 
  • ONVIF Motion events
  • AAC audio
  • exacqVision VMS support
  • Audio-only streams

More Control:

  • Encoder parameters configuration directly in DeskCamera UI 
  • Runtime monitoring of the incoming connections from VMS/NVR
  • Advanced video overlay options

More Details

We recorded a video for Retail sector with simple explaining of the technology


Read this IPVM report for free.

This article is part of IPVM's 6,800 reports, 913 tests and is only available to members. To get a one-time preview of our work, enter your work email to access the full article.

Already a member? Login here | Join now
Loading Related Reports