- Connecting Network Cameras to Windows 10 Devices
- Step One: Open Windows Settings and choose Devices
- Step Two: Inside Bluetooth & other devices → Everything else, click on Add device to discover network cameras connected to your LAN.
- Step Three: Click on the network camera you want to pair, and your device should now be connected.
- Additional Features
- Announcing Windows 10 support for Network Cameras!
- How to set up a network camera (a.k.a. IP camera)
- Network configuration
- Enable ONVIF Services (for some models of Axis).
- Configure Apps
- Configure WAN Access (i.e. Remote Access)
- Dynamic DNS
Connecting Network Cameras to Windows 10 Devices
Network cameras, which are Internet Protocol-based cameras that transmit video data over a local area network (LAN), are becoming increasingly prevalent – especially in surveillance and security scenarios. Windows now allows users to associate network cameras to their PC, enabling photo capture and streaming of video in camera applications. Currently Windows only supports ONVIF Profile S compliant cameras*, which are standards-compliant network cameras optimized for real-time streaming video capture.
Note: The features discussed in this article are available with Windows 10, Insider Build 18995.
Windows provides support for discovery, pairing, configuration and streaming via WinRT APIs.
To discover network cameras connected to the local subnet, create a DeviceWatcher class and follow the instructions specified in this document, connect to remote cameras.
To pair the discovered network camera, use the DeviceInformation instance returned by the DeviceWatcher. Windows supports the following pairing ceremonies: Basic and Custom, as documented in the pair-devices documentation. To briefly summarize, Basic Pairing provides a simple method for pairing to cameras that do not require authentication to access the stream. The Custom Pairing mode should be used when more advanced control over the pairing is needed or if a camera will require authentication.
To connect to a camera that requires authentication without developing a custom application, the Device Enumeration and Pairing app on the Microsoft Store can be used. Use option 9, “Custom Device Pairing”, and then choose the “Web Services on Devices (NetworkCamera)” device selector. After clicking on “Start Watcher”, the cameras discovered on the network will appear. Choose the desired camera and then click “Pair Selected Device” to begin the process.
Alternatively, for network cameras that can be accessed without authentication, users can pair using the Add a device wizard via the Windows 10 Settings page.
Step One: Open Windows Settings and choose Devices
Step Two: Inside Bluetooth & other devices → Everything else, click on Add device to discover network cameras connected to your LAN.
Step Three: Click on the network camera you want to pair, and your device should now be connected.
After pairing the network camera, you can capture photos, stream and record videos using your preferred camera app or the built-in Windows Camera App.
If the ability to pair to authenticated cameras with the Settings page is important for your use case, please let us know via the Windows Developer Feedback.
Additional Features
Network camera support in Windows is continuing to improve, with additional functionality currently available for developers enrolled in the Windows Insider Program. In the latest insider builds, developers will find improved support for more ONVIF cameras, as Windows is now fully certified by ONVIF. Additionally, there are some new APIs available in the insider builds that enable streams from a specified RTSP Uniform Resource Identifier (URI), and to perform time synchronization with cameras. The two APIs are described below.
For streaming from a URI through the MediaCapture class, assign the desired URI to MediaCaptureInitializationSettings::DeviceUri. If credentials are required, they can be set through MediaCaptureInitializationSettings::DeviceUriPasswordCredential. The API supports ONVIF and generic RTSP server URIs. This allows applications to use the standard Windows Media APIs to capture video from generic cameras that do not conform to the ONVIF standards, or from an arbitrary URI without pairing.
New APIs also exist to support time synchronization of cameras using the Network Time Protocol (NTP) as specified by the Onvif specification. Use KSPROPERTY_NETWORKCAMERACONTROL_NTP to configure the NTP server for the ONVIF camera to use. Once configured through this mechanism, the camera starts streaming, and sends NTP time through the Sender’s report ( as described in the RTP/RTCP spec) in a separate channel helping Windows adjust RTP payload timestamps it receives from the camera. This can be used to ensure synchronization of the captured video clips across multiple cameras.
*ONVIF Profile S conformant cameras that don’t adhere strictly to the WS-Discovery protocol might have issues during discovery and enumeration.
Editors note: This post has been updated to provide clarity on the pairing process
Announcing Windows 10 support for Network Cameras!
Update June 19, 2020: If you are a hardware or software vendor looking for more information, please reach out to us at, [email protected] .
Rise in demand for integrated security and monitoring solutions in various industry verticals has led to a rapid growth in video surveillance market globally. Network cameras, Internet Protocol-based cameras that transmit data over a local area network (LAN), are at the core of these solutions. They are used for security and surveillance in wide ranging environments including schools, hospitals, stadiums, airports, and retail spaces. Network cameras are also used for safety and analytics purposes, such as monitoring traffic and road conditions on highways and in city intersections.
We’re excited to bring new capabilities to the Windows platform that make it easier for developers to build security, safety and machine learning-based video analytics solutions on Windows. With Windows10 Insider Build 18995 or greater, we are introducing support for discovery, pairing, configuration and streaming for major ONVIF Profile S compliant camera vendors in the market. ONVIF is a leading industry forum that provides standardized interfaces for effective interoperability of IP-based physical security products, with over 12,000 conformant products [1] .
Once paired to a Windows PC, network camera streams are routed through the existing Windows camera APIs. Windows provides high-performance streaming video from network cameras into existing camera applications, on diverse architectures including x86, AMD64, ARM, and ARM64. With built-in network camera support, developers now have a consistent platform to help build security and monitoring solutions. They can focus more on their business logic and worry less about camera-specific drivers or middleware.
Windows provides support for pairing ONVIF cameras via WinRT APIs and through the Add a device wizard in Windows 10. Additionally, camera applications targeting the Windows 10 Insider Build 18995 SDK or greater can stream from a given RTSP Uniform Resource Identifier (URI) through the same Windows camera APIs. This is useful for solutions that use non-ONVIF compliant cameras, or to build applications that allow users to simply enter the RTSP URI as the video source rather than pairing the camera to their device. To learn more about connecting your network camera to a Windows device, refer to the blog post.
Windows also provides AI services and capabilities for developers to create high performance end-to-end security solutions. For common surveillance scenarios like people detection, or face sentiment analysis, Windows Vision Skills offers several pre-built computer vision modules that can be integrated into applications without any AI knowledge. For AI applications with existing machine learning models, developers are able to leverage WinML APIs to evaluate models directly on the device.
We are excited to continue bringing more updated camera experiences to you in the coming months and look forward to hearing your feedback in the comment section below.
How to set up a network camera (a.k.a. IP camera)
Network cameras (a.k.a IP cameras) are gaining popularity rapidly among consumers due to their ever-improving quality, features and declining prices. An HD network camera that normally cost over $200 in 2012 can be bought under $60 in 2016. Traditional typical users of network cameras are enterprises that have professionals for installation and maintenance. Many consumers choose the DIY approach to set up their cameras. This article is meant to help these users. It by no means can replace the help from professionals that is needed for a variety of reasons – complexity of a video surveillance system, user lacking required basic computer/network knowledge, demanded expedition…
There are literally thousands of models of network cameras in use. It is impossible to have a set of instructions fitting every model perfectly. We use a popular model (M1034-W) by the network camera inventor – Axis – in this article. The setup steps for the vast majority of other network cameras are either identical or very similar to the ones described here.
A word about ONVIF. Detailed explanation about ONVIF is beyond the scope of this article. An average user may only need to know that ONVIF is an international standard. An ONVIF conformant camera offers the maximum compatibility and interoperability with many software and hardware on the market. Generally speaking, ONVIF conformant cameras have more features and better quality than traditional non-ONVIF network cameras.
For this article, we assume the reader has very basic computer and network knowledge. Technically savvy users may find many parts are too rudimentary for them.
Network configuration
Network cameras are different from web cams and analog CCTV cameras. Web cams are connected to computers by USB cables. Analogy CCTV cameras are connected to servers by coax cables. Network cameras are connected to a network for access just like computers are connected to networks. Each network camera is actually a computer with a CPU and memory. I process images from CCD (Charge-coupled Device) or CMOS (Complementary Metal-oxide Semiconductor) sensors, send to clients (e.g. apps) and hosts a web server.
- Connect the network camera to your Local Area Network (LAN). A LAN is often the home network of a consumer. Plug an Ethernet cable (a.k.a. Cat 5 cable) into the Ethernet socket of the network camera, then plug the other end to the router (a.k.a. gateway or access point).
If this network camera does not have Wi-Fi, this may be the only step needed for the network configuration.
Find the IP address of the network camera. There are a few ways to do it.
- Use a utility program from the camera’s vendor to find the camera. Please make sure Dynamic Host Configuration Protocol (DHCP) is used for now to ensure the network camera obtains an appropriate IP address from the router.
The following is from AXIS IP Utility:
Enable ONVIF Services (for some models of Axis).
Some ONVIF cameras (e.g. some from Axis) have ONVIF services disabled by default. You will need to enable ONVIF as shown by the following figures for Axis 1031-W:
Axis cameras require a set of users for ONVIF services different from that for other types of access (e.g. web UI, proprietary API). It is critical to add users for ONVIF services because these cameras have no users for ONVIF services by default. The following figure shows how to add ONVIF users.
Configure Apps
Most users want to access their network cameras outside their LANs (e.g. outside their homes). The next section will explain how to access the cameras via Wide Area Network (WAN) (e.g. via cellular connections). Unless you are experienced with the camera and its configuration, it is extremely important to make sure the camera works on your LAN first. This is because the WAN access will never work if the LAN access does not work. If it works on your LAN, it will be very easy to diagnose any issues with the WAN access.
Many apps have automated the setup process to a great degree, and it usually takes less than 1 minute to set up a camera before starting enjoying its video.
The following is for setting up a camera with apps Onvifer for Android, and IP CENTCOM for Windows 8.1/10 and Windows Phone.
The first step is choosing the type of device for the configuration as shown by the following figure:
ONVIF is the recommended one. Almost all new modern network cameras are ONVIF conformant. Please note most ONVIF cameras can also be used as generic RTSP stream or generic MJPEG. Older network cameras support RTSP, MJPEG, or both.
Once the type is selected, input the few required parameters (e.g. user name, password), the setup will usually be completed in seconds. The following figures show the setup screens for Onvifer, IP CENTCOM for Windows Phone and Windows 8.1/10 respectively:
Configure WAN Access (i.e. Remote Access)
Most users want to access their network cameras outside their LAN (e.g. home network). They may access via a cellular connection, a Wi-Fi hotspot, workplace network, etc. We have received far more questions about this topic than any others.
If you just want to know the quick steps to set up WAN access, please take a look at this post of ours with a few slides.
If you happen to use one of our apps, you can click button WAN Access after the video test on the setup screen is finished successfully as following figures show for Onvifer for Android, and IP CENTCOM for Windows and Windows Phone respectively:
You will get specific step-by-step instructions for the configured network camera as following:
We hope you will read the following to gain fundamental understanding of WAN access configuration regardless of whether you use our apps. It may look daunting to configure the WAN access, but it actually takes only a few minutes to do it once you know how. This section may be a bit long because we try to help you understand the principles behind the process. The specific steps highly depend on your camera and router.
Please note that most instructions here regarding configuring WAN access are NOT specific to our apps. They are applicable no matter which app (including browsers) you use to access your device remotely unless you use technologies such as P2P that maintain a constant connection between your camera and a server of a company that is usually unknown to users.
Let us have some basic understanding of how network cameras are accessed first. Every network camera has an IP address (e.g. 192.168.0.100) on a LAN. Non-technical users can treat this IP address as a street address, and their LAN (e.g. home network) as a city. Every computing device on your LAN can find the network camera by its IP address, just like everyone in your city can locate a home by its street address.
A network camera may use more than one port (the default port is HTTP default port 80). Each port offers a unique service. For example, one port for web UI, one port for RTSP. Non-technical people can treat ports as doors of a home. You get different services by entering different doors.
The IP address of a network camera is a private IP. The most common range is 192.168.0.0 — 192.168.255.255, followed by 10.0.0.0 — 10.255.255.255. They are least likely in the private IP range of 172.16.0.0 — 172.31.255.255. Private IPs are good for a LAN. It is like that a street address «101 5th Avenue» is good for locating a home in a city, but you cannot use it to locate a home in another city because every city may have «101 5th Avenue». Every LAN may have a device using a private IP address such as 192.168.0.101.
Now, we can talk about how to access a network camera outside its LAN, or access a home outside its city.
Each LAN is behind a router (or gateway), and the router has an IP address and that IP address is public IP address, not a private IP address like that of a network camera though the IP address’s format is the same. Since it is a public IP, the router can be accessed on the Internet anywhere in the world. How do we tell a router that we want to communicate with a specific network camera on the LAN behind it? The trick is port forwarding.
The only way to access a computing device on a network is through its IP address and ports. If there is only one network camera on a LAN, we can ask the router to forward everything to the camera, and everything will be the same as accessing the camera on the LAN except using the public IP address of the router. This would not work for multiple network cameras.
To deal with multiple cameras, we need to allocate different ports for different cameras. In other words, you will access every network camera with exactly the same IP address — the public IP address of the router, but with different ports. Using the city analogy, you will send/request packages to different homes of a city by using its different doors. For example, doors 8080 and 5556 of the city to doors 80 and 556 of address 101 5th Ave, doors 8082 and 5558 of the city to doors 80 and 556 of 102 5th Ave, and so on.
Most cameras allow modifying its used ports. Port 80 is usually used for HTTP and ONVIF, and port 554 is used for RTSP. Though it is not necessary theoretically, it is the best to change a camera’s ports to match their external forwarding ports. For example, if port 8080 is forwarded to a camera’s HTTP port, it would be the best to change the camera’s HTTP port to 8080; if port 5554 is forwarded to a camera’s RTSP port, it would be the best to change the camera’s RTSP port to 5554. The following two figures show how to configure port forwarding for multiple cameras after modifying their ports to match the external ports.
Some cameras do not allow the modification of their ports, in this case you can forward different external ports to the fixed ports of cameras, but it is critical to tell apps to overwrite the RTSP ports informed by the cameras with their corresponding external RTSP forwarding ports (e.g. 5554, 5556…) in apps. This is because the cameras are not aware of port forwarding, so they always tell apps to use their ports. All of our apps support RTSP port overwriting. The following figure shows the port forwarding configuration of this scenario.
Each router has its own port forwarding UI. All of them have the same pattern — each port forwarding entry allows forwarding one port or a range of ports from the router (called external or public) to one port or a range of ports of a device.
The following is the port forwarding page of Netgear N300 Wireless Gigabit Router WNR3500Lv2, a popular low cost router. It represents the simplest port forwarding UI
The following represents a more complex port forwarding UI from Quantum Gateway (Fios-G1100). It shows that port 60163 is forwarded to port 80 of an Axis camera following the WAN access instructions of our app. Other ports can be forwarded in exactly the same way.
- Enter router web UI > Firewall > PortForwarding > Select the Axis camera 192.168.1.163 > Custom Ports > Advanced
All network cameras of major brands use one port for everything — Web UI, ONVIF services, RTSP and snapshot because they use only one transport protocol — HTTP. They support RTSP over HTTP. Some cameras, especially many made in Shenzhen, China require up to three ports — one port for web UI and maybe snapshot, one port ONVIF services, and one port for RTSP.
Finding the required ports sometimes is a bit tricky. Fortunately, all of our apps list the required ports as shown by the following screenshots:
Now you can use your router’s public IP address to access your network camera. If you do not know your router’s public IP, there are a few ways to find it:
- Use a browser to visit any one of these websites:
- https://www.wizcase.com/tools/whats-my-ip/
- https://www.vpnmentor.com/ipinfo
- http://whatismyipaddress.com
- Visit the Internet configuration tab of your router’s configuration page.
- Use command «nslookup myip.opendns.com resolver1.opendns.com» in Windows Command Prompt. The address for «myip.opendns.com» is your public IP.
Suppose your router’s public IP is 109.173.137.12 and you have forwarded external port 8080 to the camera’s ONVIF port 80, you can set up your camera with address 109.173.137.12:8080, and access it anywhere in the world.
Dynamic DNS
The above method of WAN access assumes the public IP address of the router is static (i.e. does not change). This is not the case for most consumer homes. Public IP addresses are dynamically assigned to home routers except for those who obtain static public IP addresses by paying fees to their ISPs.
Fortunately, there is a way to deal with this. It is Dynamic DNS (DDNS). The details of DDNS are beyond the scope of this article. For the purpose of network camera WAN access, users only need to know that DDNS offers a static host name (e.g. mycamera.myddns.com) to replace a router’s public IP address, so the address to a network camera remains constant.
When a DDNS host name is used, it is resolved to the dynamically assigned IP address of a router. It essentially tracks the change of the router’s IP address. Many network camera manufacturers offer free DDNS service. One can also subscribe to paid or free DDNS service such as dyndns.org, freedns.afraid.org, dynu.com
There are three common ways for DDNS services to track routers’ IP address changes:
- DDNS support of a router. Here is how to Setup a NETGEAR Dynamic DNS account.
- DDNS support of network camera.
The following is the Axis camera’s DDNS configuration UI:
All of them use the same mechanism — sending the router’s dynamic IP address to a DDNS server upon its change or periodically. Each DDNS or service or router usually has detailed setup instructions. Some network camera manufacturers also provide detailed instructions for DDNS. Please see the last section «The Axis Internet Dynamic DNS service» of this Axis document for an example.