<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.monoclesecurity.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chris</id>
	<title>Monocle Security - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.monoclesecurity.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chris"/>
	<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Special:Contributions/Chris"/>
	<updated>2026-05-08T14:18:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=56</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=56"/>
		<updated>2026-02-15T19:11:22Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/DirectShowPlayer DirectShow Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/DewarpingPlayer Dewarping Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/QtPlayer Qt Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/ImGuiPlayer ImGui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/MauiPlayer Maui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/glfwPlayer glfw Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=55</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=55"/>
		<updated>2025-10-09T18:33:12Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/DewarpingPlayer Dewarping Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/QtPlayer Qt Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/ImGuiPlayer ImGui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/MauiPlayer Maui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/glfwPlayer glfw Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=54</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=54"/>
		<updated>2025-09-30T08:41:49Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/QtPlayer Qt Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/ImGuiPlayer ImGui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/MauiPlayer Maui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/glfwPlayer glfw Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=53</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=53"/>
		<updated>2025-09-17T15:29:53Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/QtPlayer Qt Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/ImGuiPlayer ImGui Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/MauiPlayer Maui Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=52</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=52"/>
		<updated>2025-09-05T08:20:04Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/QtPlayer Qt Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/ImGuiPlayer ImGui Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=51</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=51"/>
		<updated>2025-09-04T01:42:19Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/QtPlayer Qt Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=50</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=50"/>
		<updated>2025-08-03T08:17:13Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=49</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=49"/>
		<updated>2025-08-03T08:17:01Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Educational Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=48</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=48"/>
		<updated>2025-06-03T16:10:09Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
* [https://github.com/MonocleSecurity/WebRTCPlayer WebRTC Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=47</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=47"/>
		<updated>2025-05-03T19:28:14Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&lt;br /&gt;
{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;recordingsStatistics&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;time&amp;quot;:1701957882019,&amp;quot;recordings&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackStatistics&amp;quot;:[{&amp;quot;recordingToken&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackId&amp;quot;:10602418&amp;quot;,&amp;quot;totalTrackData&amp;quot;:193759699}]}]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HTML Examples ==&lt;br /&gt;
&lt;br /&gt;
https://github.com/MonocleSecurity/JSONExample&lt;br /&gt;
&lt;br /&gt;
https://github.com/MonocleSecurity/CloudJSONExample&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=46</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=46"/>
		<updated>2024-11-06T20:30:53Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Rockchip Repos ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer Rockchip Video Player]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=45</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=45"/>
		<updated>2024-11-06T20:30:38Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Rockchip Repos ==&lt;br /&gt;
* [https://github.com/MonocleSecurity/RockchipPlayer]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=44</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=44"/>
		<updated>2024-06-30T15:02:03Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Educational Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
* [https://medium.com/@monoclechris/rtsp-to-rtmp-in-c-using-ffmpeg-8231fb4c610b RTSP to RTMP in C++ and FFMPEG]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Privacy&amp;diff=43</id>
		<title>Privacy</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Privacy&amp;diff=43"/>
		<updated>2024-03-07T10:52:19Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;Monocle Security software does not collect data.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Monocle Security software does not collect data.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Monocleclient&amp;diff=42</id>
		<title>Monocleclient</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Monocleclient&amp;diff=42"/>
		<updated>2023-12-10T22:03:37Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Monocle Client is a Qt GUI application for opening video files and communicating with the Monocle Server.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
The number of I/O service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--numioservices&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any additional unnamed parameters are considered to be Monocle media files to open in the GUI.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Monocleclient&amp;diff=41</id>
		<title>Monocleclient</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Monocleclient&amp;diff=41"/>
		<updated>2023-12-10T11:52:34Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Description == Monocle Client is a Qt GUI application for opening video files and communicating with the Monocle Server.  == Arguments == The number of I/O service.  &amp;lt;code&amp;gt;--numioservices&amp;lt;/code&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Monocle Client is a Qt GUI application for opening video files and communicating with the Monocle Server.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
The number of I/O service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--numioservices&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=40</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=40"/>
		<updated>2023-12-09T14:58:16Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&lt;br /&gt;
{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;recordingsStatistics&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;time&amp;quot;:1701957882019,&amp;quot;recordings&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackStatistics&amp;quot;:[{&amp;quot;recordingToken&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackId&amp;quot;:10602418&amp;quot;,&amp;quot;totalTrackData&amp;quot;:193759699}]}]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=39</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=39"/>
		<updated>2023-12-09T14:58:06Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Subscribe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&lt;br /&gt;
{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;recordingsStatistics&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;time&amp;quot;:1701957882019,&amp;quot;recordings&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackStatistics&amp;quot;:[{&amp;quot;recordingToken&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackId&amp;quot;:10602418&amp;quot;,&amp;quot;totalTrackData&amp;quot;:193759699}]}]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=38</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=38"/>
		<updated>2023-12-08T11:54:30Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Protocols */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
* [[OpenAPI]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=37</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=37"/>
		<updated>2023-12-08T11:06:22Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Monocle Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b NVidia Jetson ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=36</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=36"/>
		<updated>2023-12-08T10:40:23Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b Setup Monocle]&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=35</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=35"/>
		<updated>2023-12-08T10:34:43Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Jetson Articles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/secureboot-and-encrypted-rootfs-nvme-on-jetson-orin-41d3356d7922 Secure Boot and Encrypted RootFs]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b Setup Monocle]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=34</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=34"/>
		<updated>2023-12-08T10:03:01Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://google.com Secure Boot and Encrypted RootFs]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b Setup Monocle]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=33</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=33"/>
		<updated>2023-12-08T10:02:44Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Jetson Articles ==&lt;br /&gt;
* [https://google.com Secure Boot and Encrypted RootFs]&lt;br /&gt;
* [https://medium.com/@monoclechris/nvidia-jetson-cameras-and-nvr-ce974f423d7b Setup Monocle]&lt;br /&gt;
&lt;br /&gt;
== Monocle Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/setting-up-monocle-security-nvr-server-and-client-on-windows-43208d5e634d Setting up Monocle Security NVR Server and Client on Windows]&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/raspberry-pi-onvif-cctv-camera-and-nvr-91c0dd5993b5 Raspberry Pi ONVIF RTSP CCTV Camera and NVR with Monocle]&lt;br /&gt;
&lt;br /&gt;
== Fun Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/multithreaded-memset-e2f114e74d1c Multithreaded Memset]&lt;br /&gt;
* [https://medium.com/@monoclechris/inter-thread-communication-latency-f2324a5d2ec8 Inter-thread communication latency]&lt;br /&gt;
&lt;br /&gt;
== Educational Articles ==&lt;br /&gt;
* [https://medium.com/@monoclechris/onvif-authentication-and-streaming-688691be581c ONVIF Authentication and Streaming]&lt;br /&gt;
* [https://medium.com/@monoclechris/c-and-webrtc-video-and-audio-to-the-browser-f9d901c9a340 C++ and WebRTC: Video and Audio to the Browser]&lt;br /&gt;
* [https://medium.com/@monoclechris/writing-fast-to-disk-in-c-e8b1a5fd233a Writing Fast to Disk]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=32</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=32"/>
		<updated>2023-12-08T09:57:58Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles ==&lt;br /&gt;
* [https://google.com Secure Boot and Encrypted RootFs]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
* [[HTTP JSON-RPC]]&lt;br /&gt;
* [[Websocket JSON-RPC]]&lt;br /&gt;
* [[GRPC]]&lt;br /&gt;
* [[ONVIF]]&lt;br /&gt;
* [[RTSP]]&lt;br /&gt;
* [[WebRTC]]&lt;br /&gt;
* [[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
* [[monoclecli]]&lt;br /&gt;
* [[monocleclient]]&lt;br /&gt;
* [[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
* [[C]]&lt;br /&gt;
* [[Lua]]&lt;br /&gt;
* [[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
* [[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=31</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=31"/>
		<updated>2023-12-08T09:56:33Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Articles ==&lt;br /&gt;
&lt;br /&gt;
[[Secure Boot and Encrypted RootFs]]&lt;br /&gt;
&lt;br /&gt;
== Protocols ==&lt;br /&gt;
&lt;br /&gt;
[[HTTP JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[Websocket JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[GRPC]]&lt;br /&gt;
&lt;br /&gt;
[[ONVIF]]&lt;br /&gt;
&lt;br /&gt;
[[RTSP]]&lt;br /&gt;
&lt;br /&gt;
[[WebRTC]]&lt;br /&gt;
&lt;br /&gt;
[[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
&lt;br /&gt;
[[monoclecli]]&lt;br /&gt;
&lt;br /&gt;
[[monocleclient]]&lt;br /&gt;
&lt;br /&gt;
[[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[C]]&lt;br /&gt;
&lt;br /&gt;
[[Lua]]&lt;br /&gt;
&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
[[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Monocleserver&amp;diff=30</id>
		<title>Monocleserver</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Monocleserver&amp;diff=30"/>
		<updated>2023-12-07T16:10:57Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Description == Monocle Server is designed to run as a service on Windows, and a systemd service on Linux.  == Arguments == Stop the process running as a daemon and run as a regular process instead.  &amp;lt;code&amp;gt;--standalone&amp;lt;/code&amp;gt;  Log to stdout.  &amp;lt;code&amp;gt;--stdout&amp;lt;/code&amp;gt;  Display version.  &amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt;  The number of I/O service.  &amp;lt;code&amp;gt;--numioservices&amp;lt;/code&amp;gt;  How many threads each I/O service should contain.  &amp;lt;code&amp;gt;--numioservicethreads&amp;lt;/code&amp;gt;  How JSON configurati...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Monocle Server is designed to run as a service on Windows, and a systemd service on Linux.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
Stop the process running as a daemon and run as a regular process instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--standalone&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Log to stdout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--stdout&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Display version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--version&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The number of I/O service.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--numioservices&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How many threads each I/O service should contain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--numioservicethreads&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How JSON configuration file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;--configuration&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Python&amp;diff=29</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Python&amp;diff=29"/>
		<updated>2023-12-07T16:00:44Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Examples == * https://github.com/MonocleSecurity/ExamplePlugins/tree/master/Python&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examples ==&lt;br /&gt;
* https://github.com/MonocleSecurity/ExamplePlugins/tree/master/Python&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Lua&amp;diff=28</id>
		<title>Lua</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Lua&amp;diff=28"/>
		<updated>2023-12-07T16:00:29Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Examples == * https://github.com/MonocleSecurity/ExamplePlugins/tree/master/Lua&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examples ==&lt;br /&gt;
* https://github.com/MonocleSecurity/ExamplePlugins/tree/master/Lua&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=C&amp;diff=27</id>
		<title>C</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=C&amp;diff=27"/>
		<updated>2023-12-07T15:56:26Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Examples == * https://github.com/MonocleSecurity/ExamplePlugins/tree/master/C&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Examples ==&lt;br /&gt;
* https://github.com/MonocleSecurity/ExamplePlugins/tree/master/C&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=26</id>
		<title>ONVIF</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=26"/>
		<updated>2023-12-07T15:09:54Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== C# Retrieve Date Time ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;TextMessageEncodingBindingElement messageElement = new TextMessageEncodingBindingElement();&lt;br /&gt;
messageElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None);&lt;br /&gt;
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();&lt;br /&gt;
httpBinding.AuthenticationScheme = AuthenticationSchemes.Basic;&lt;br /&gt;
CustomBinding bind = new CustomBinding(messageElement, httpBinding);&lt;br /&gt;
EndpointAddress deviceAddress = new EndpointAddress(&amp;quot;http://192.168.0.10:8888/onvif/device_service&amp;quot;);&lt;br /&gt;
DeviceClient deviceClient = new DeviceClient(bind, deviceAddress);&lt;br /&gt;
deviceClient.ClientCredentials.UserName.UserName = &amp;quot;admin&amp;quot;;&lt;br /&gt;
deviceClient.ClientCredentials.UserName.Password = &amp;quot;password&amp;quot;;&lt;br /&gt;
SystemDateTime dateTime = deviceClient.GetSystemDateAndTime();&lt;br /&gt;
Console.WriteLine(dateTime.UTCDateTime.Date.Day.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Month.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Year.ToString() + &amp;quot; &amp;quot; + dateTime.UTCDateTime.Time.Hour + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Minute + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Second);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;7/12/2023 15:9:49&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=25</id>
		<title>ONVIF</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=25"/>
		<updated>2023-12-07T15:09:25Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== C# Retrieve Date Time ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;TextMessageEncodingBindingElement messageElement = new TextMessageEncodingBindingElement();&lt;br /&gt;
messageElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None);&lt;br /&gt;
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();&lt;br /&gt;
httpBinding.AuthenticationScheme = AuthenticationSchemes.Basic;&lt;br /&gt;
CustomBinding bind = new CustomBinding(messageElement, httpBinding);&lt;br /&gt;
EndpointAddress deviceAddress = new EndpointAddress(&amp;quot;http://192.168.0.10:8888/onvif/device_service&amp;quot;);&lt;br /&gt;
DeviceClient deviceClient = new DeviceClient(bind, deviceAddress);&lt;br /&gt;
deviceClient.ClientCredentials.UserName.UserName = &amp;quot;admin&amp;quot;;&lt;br /&gt;
deviceClient.ClientCredentials.UserName.Password = &amp;quot;password&amp;quot;;&lt;br /&gt;
SystemDateTime dateTime = deviceClient.GetSystemDateAndTime();&lt;br /&gt;
Console.WriteLine(dateTime.UTCDateTime.Date.Day.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Month.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Year.ToString() + &amp;quot; &amp;quot; + dateTime.UTCDateTime.Time.Hour + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Minute + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Second);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;result&amp;quot;:[{&amp;quot;id&amp;quot;:1,&amp;quot;objectClass&amp;quot;:&amp;quot;Handbag&amp;quot;,&amp;quot;x&amp;quot;:0.301338,&amp;quot;y&amp;quot;:0.89906,&amp;quot;width&amp;quot;:0.234911,&amp;quot;height&amp;quot;:0.10094}],&amp;quot;error&amp;quot;:null,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=24</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=24"/>
		<updated>2023-12-07T15:04:40Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | ./websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&lt;br /&gt;
{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;recordingsStatistics&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;time&amp;quot;:1701957882019,&amp;quot;recordings&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackStatistics&amp;quot;:[{&amp;quot;recordingToken&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackId&amp;quot;:10602418&amp;quot;,&amp;quot;totalTrackData&amp;quot;:193759699}]}]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=23</id>
		<title>ONVIF</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=23"/>
		<updated>2023-12-07T15:04:05Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== C# Retrieve Date Time ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;TextMessageEncodingBindingElement messageElement = new TextMessageEncodingBindingElement();&lt;br /&gt;
messageElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None);&lt;br /&gt;
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();&lt;br /&gt;
httpBinding.AuthenticationScheme = AuthenticationSchemes.Basic;&lt;br /&gt;
CustomBinding bind = new CustomBinding(messageElement, httpBinding);&lt;br /&gt;
EndpointAddress deviceAddress = new EndpointAddress(&amp;quot;http://127.0.0.1:8888/onvif/device_service&amp;quot;);&lt;br /&gt;
DeviceClient deviceClient = new DeviceClient(bind, deviceAddress);&lt;br /&gt;
deviceClient.ClientCredentials.UserName.UserName = &amp;quot;admin&amp;quot;;&lt;br /&gt;
deviceClient.ClientCredentials.UserName.Password = &amp;quot;password&amp;quot;;&lt;br /&gt;
SystemDateTime dateTime = deviceClient.GetSystemDateAndTime();&lt;br /&gt;
Console.WriteLine(dateTime.UTCDateTime.Date.Day.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Month.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Year.ToString() + &amp;quot; &amp;quot; + dateTime.UTCDateTime.Time.Hour + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Minute + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Second);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;result&amp;quot;:[{&amp;quot;id&amp;quot;:1,&amp;quot;objectClass&amp;quot;:&amp;quot;Handbag&amp;quot;,&amp;quot;x&amp;quot;:0.301338,&amp;quot;y&amp;quot;:0.89906,&amp;quot;width&amp;quot;:0.234911,&amp;quot;height&amp;quot;:0.10094}],&amp;quot;error&amp;quot;:null,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=22</id>
		<title>ONVIF</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=ONVIF&amp;diff=22"/>
		<updated>2023-12-07T15:03:54Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Retrieve date time == &amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;TextMessageEncodingBindingElement messageElement = new TextMessageEncodingBindingElement(); messageElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None); HttpTransportBindingElement httpBinding = new HttpTransportBindingElement(); httpBinding.AuthenticationScheme = AuthenticationSchemes.Basic; CustomBinding bind = new CustomBinding(messageElement, httpBinding); EndpointAddress devi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Retrieve date time ==&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code&amp;quot;&amp;gt;TextMessageEncodingBindingElement messageElement = new TextMessageEncodingBindingElement();&lt;br /&gt;
messageElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None);&lt;br /&gt;
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();&lt;br /&gt;
httpBinding.AuthenticationScheme = AuthenticationSchemes.Basic;&lt;br /&gt;
CustomBinding bind = new CustomBinding(messageElement, httpBinding);&lt;br /&gt;
EndpointAddress deviceAddress = new EndpointAddress(&amp;quot;http://127.0.0.1:8888/onvif/device_service&amp;quot;);&lt;br /&gt;
DeviceClient deviceClient = new DeviceClient(bind, deviceAddress);&lt;br /&gt;
deviceClient.ClientCredentials.UserName.UserName = &amp;quot;admin&amp;quot;;&lt;br /&gt;
deviceClient.ClientCredentials.UserName.Password = &amp;quot;password&amp;quot;;&lt;br /&gt;
SystemDateTime dateTime = deviceClient.GetSystemDateAndTime();&lt;br /&gt;
Console.WriteLine(dateTime.UTCDateTime.Date.Day.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Month.ToString() + &amp;quot;/&amp;quot; + dateTime.UTCDateTime.Date.Year.ToString() + &amp;quot; &amp;quot; + dateTime.UTCDateTime.Time.Hour + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Minute + &amp;quot;:&amp;quot; + dateTime.UTCDateTime.Time.Second);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;result&amp;quot;:[{&amp;quot;id&amp;quot;:1,&amp;quot;objectClass&amp;quot;:&amp;quot;Handbag&amp;quot;,&amp;quot;x&amp;quot;:0.301338,&amp;quot;y&amp;quot;:0.89906,&amp;quot;width&amp;quot;:0.234911,&amp;quot;height&amp;quot;:0.10094}],&amp;quot;error&amp;quot;:null,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=21</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=21"/>
		<updated>2023-12-07T14:21:04Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | ./websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&lt;br /&gt;
{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;recordingsStatistics&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;time&amp;quot;:1701957882019,&amp;quot;recordings&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackStatistics&amp;quot;:[{&amp;quot;recordingToken&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;trackId&amp;quot;:10602418&amp;quot;,&amp;quot;totalTrackData&amp;quot;:193759699}]}]}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileMounted&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=20</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=20"/>
		<updated>2023-12-07T14:15:22Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Subscribe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | ./websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
  &amp;quot;result&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;id&amp;quot;,&lt;br /&gt;
  &amp;quot;location&amp;quot;: {&lt;br /&gt;
    &amp;quot;latitude&amp;quot;: 53.5815,&lt;br /&gt;
    &amp;quot;longitude&amp;quot;: -2.1778&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;files&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;token&amp;quot;: &amp;quot;1319756543&amp;quot;,&lt;br /&gt;
      &amp;quot;path&amp;quot;: &amp;quot;D:\\file.dat&amp;quot;,&lt;br /&gt;
      &amp;quot;state&amp;quot;: &amp;quot;Mounted&amp;quot;,&lt;br /&gt;
      &amp;quot;numchunks&amp;quot;: 4096,&lt;br /&gt;
      &amp;quot;chunksize&amp;quot;: 8388608,&lt;br /&gt;
      &amp;quot;automount&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;receivers&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;token&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;mediauri&amp;quot;: &amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&lt;br /&gt;
      &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;parameters&amp;quot;: &amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;recordings&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;tracks&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;id&amp;quot;: &amp;quot;10602418&amp;quot;,&lt;br /&gt;
          &amp;quot;token&amp;quot;: &amp;quot;VIDEO2_10602418&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;directshow&amp;quot;,&lt;br /&gt;
          &amp;quot;digitalSignature&amp;quot;: false,&lt;br /&gt;
          &amp;quot;encrypt&amp;quot;: false,&lt;br /&gt;
          &amp;quot;fixedFiles&amp;quot;: false,&lt;br /&gt;
          &amp;quot;flushFrequency&amp;quot;: 60,&lt;br /&gt;
          &amp;quot;files&amp;quot;: [],&lt;br /&gt;
          &amp;quot;totalTrackData&amp;quot;: []&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;jobs&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;token&amp;quot;: &amp;quot;6290858531577553758&amp;quot;,&lt;br /&gt;
          &amp;quot;enabled&amp;quot;: true,&lt;br /&gt;
          &amp;quot;name&amp;quot;: &amp;quot;MonocleJob&amp;quot;,&lt;br /&gt;
          &amp;quot;priority&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;sources&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;token&amp;quot;: &amp;quot;6199715978532858218&amp;quot;,&lt;br /&gt;
              &amp;quot;receiverToken&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
              &amp;quot;sourceTracks&amp;quot;: [&lt;br /&gt;
                {&lt;br /&gt;
                  &amp;quot;token&amp;quot;: &amp;quot;3738472142918816058&amp;quot;,&lt;br /&gt;
                  &amp;quot;trackid&amp;quot;: 10602418,&lt;br /&gt;
                  &amp;quot;parameters&amp;quot;: &amp;quot;Rotation=0&amp;quot;,&lt;br /&gt;
                  &amp;quot;activeparameters&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
                  &amp;quot;state&amp;quot;: &amp;quot;Active&amp;quot;,&lt;br /&gt;
                  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;token&amp;quot;: &amp;quot;6141235949812041025&amp;quot;,&lt;br /&gt;
      &amp;quot;location&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directshow&amp;quot;,&lt;br /&gt;
      &amp;quot;retentionTime&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;activeJob&amp;quot;: 6290858531577554000&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=19</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=19"/>
		<updated>2023-12-07T14:14:22Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | ./websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;,&lt;br /&gt;
  &amp;quot;result&amp;quot;: 1,&lt;br /&gt;
  &amp;quot;id&amp;quot;: &amp;quot;id&amp;quot;,&lt;br /&gt;
  &amp;quot;location&amp;quot;: {&lt;br /&gt;
    &amp;quot;latitude&amp;quot;: 53.5815,&lt;br /&gt;
    &amp;quot;longitude&amp;quot;: -2.1778&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;files&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;token&amp;quot;: &amp;quot;1319756543&amp;quot;,&lt;br /&gt;
      &amp;quot;path&amp;quot;: &amp;quot;D:\\file.dat&amp;quot;,&lt;br /&gt;
      &amp;quot;state&amp;quot;: &amp;quot;Mounted&amp;quot;,&lt;br /&gt;
      &amp;quot;numchunks&amp;quot;: 4096,&lt;br /&gt;
      &amp;quot;chunksize&amp;quot;: 8388608,&lt;br /&gt;
      &amp;quot;automount&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;receivers&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;token&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
      &amp;quot;mediauri&amp;quot;: &amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&lt;br /&gt;
      &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;parameters&amp;quot;: &amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;recordings&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;tracks&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;id&amp;quot;: &amp;quot;10602418&amp;quot;,&lt;br /&gt;
          &amp;quot;token&amp;quot;: &amp;quot;VIDEO2_10602418&amp;quot;,&lt;br /&gt;
          &amp;quot;description&amp;quot;: &amp;quot;directshow&amp;quot;,&lt;br /&gt;
          &amp;quot;digitalSignature&amp;quot;: false,&lt;br /&gt;
          &amp;quot;encrypt&amp;quot;: false,&lt;br /&gt;
          &amp;quot;fixedFiles&amp;quot;: false,&lt;br /&gt;
          &amp;quot;flushFrequency&amp;quot;: 60,&lt;br /&gt;
          &amp;quot;files&amp;quot;: [],&lt;br /&gt;
          &amp;quot;totalTrackData&amp;quot;: []&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;jobs&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
          &amp;quot;token&amp;quot;: &amp;quot;6290858531577553758&amp;quot;,&lt;br /&gt;
          &amp;quot;enabled&amp;quot;: true,&lt;br /&gt;
          &amp;quot;name&amp;quot;: &amp;quot;MonocleJob&amp;quot;,&lt;br /&gt;
          &amp;quot;priority&amp;quot;: 1,&lt;br /&gt;
          &amp;quot;sources&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
              &amp;quot;token&amp;quot;: &amp;quot;6199715978532858218&amp;quot;,&lt;br /&gt;
              &amp;quot;receiverToken&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
              &amp;quot;sourceTracks&amp;quot;: [&lt;br /&gt;
                {&lt;br /&gt;
                  &amp;quot;token&amp;quot;: &amp;quot;3738472142918816058&amp;quot;,&lt;br /&gt;
                  &amp;quot;trackid&amp;quot;: 10602418,&lt;br /&gt;
                  &amp;quot;parameters&amp;quot;: &amp;quot;Rotation=0&amp;quot;,&lt;br /&gt;
                  &amp;quot;activeparameters&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
                  &amp;quot;state&amp;quot;: &amp;quot;Active&amp;quot;,&lt;br /&gt;
                  &amp;quot;error&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
              ]&lt;br /&gt;
            }&lt;br /&gt;
          ]&lt;br /&gt;
        }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;token&amp;quot;: &amp;quot;6141235949812041025&amp;quot;,&lt;br /&gt;
      &amp;quot;location&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;directshow&amp;quot;,&lt;br /&gt;
      &amp;quot;retentionTime&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;activeJob&amp;quot;: 6290858531577554000&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=18</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=18"/>
		<updated>2023-12-07T14:06:14Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | ./websocat --no-close ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=17</id>
		<title>Websocket JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Websocket_JSON-RPC&amp;diff=17"/>
		<updated>2023-12-07T14:05:58Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Authenticate == echo &amp;#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&amp;#039; | ./websocat ws://127.0.0.1:9854/json  &amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;  == Subscribe == echo &amp;#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Authenticate ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;username&amp;quot;:&amp;quot;admin&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;password&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;authenticate&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Subscribe ==&lt;br /&gt;
echo &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;jwttoken&amp;quot;:&amp;quot;eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE3MDE5ODU4MjksImlhdCI6MTcwMTg5OTQyOSwiaXNzIjoiYXV0aDAiLCJ1c2VydG9rZW4iOiIxIn0.x1_luycGY5oTfqGNy1SF8xqcqKGKr_hsXoDGsMjAJkA&amp;quot;},&amp;quot;method&amp;quot;:&amp;quot;subscribe&amp;quot;}&#039; | ./websocat ws://127.0.0.1:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;result&amp;quot;:1,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;location&amp;quot;:{&amp;quot;latitude&amp;quot;:53.5815,&amp;quot;longitude&amp;quot;:-2.1778},&amp;quot;files&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;,&amp;quot;path&amp;quot;:&amp;quot;D:\\file.dat&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Mounted&amp;quot;,&amp;quot;numchunks&amp;quot;:4096,&amp;quot;chunksize&amp;quot;:8388608,&amp;quot;automount&amp;quot;:true}],&amp;quot;receivers&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;mediauri&amp;quot;:&amp;quot;media://USBVideoDevice_MJPG_1920x1080&amp;quot;,&amp;quot;username&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;parameters&amp;quot;:&amp;quot;StreamingProtocol=TCPInterleaved&amp;quot;}],&amp;quot;recordings&amp;quot;:[{&amp;quot;tracks&amp;quot;:[{&amp;quot;id&amp;quot;:&amp;quot;10602418&amp;quot;,&amp;quot;token&amp;quot;:&amp;quot;VIDEO2_10602418&amp;quot;,&amp;quot;description&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;digitalSignature&amp;quot;:false,&amp;quot;encrypt&amp;quot;:false,&amp;quot;fixedFiles&amp;quot;:false,&amp;quot;flushFrequency&amp;quot;:60,&amp;quot;files&amp;quot;:[],&amp;quot;totalTrackData&amp;quot;:[]}],&amp;quot;jobs&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6290858531577553758&amp;quot;,&amp;quot;enabled&amp;quot;:true,&amp;quot;name&amp;quot;:&amp;quot;MonocleJob&amp;quot;,&amp;quot;priority&amp;quot;:1,&amp;quot;sources&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;6199715978532858218&amp;quot;,&amp;quot;receiverToken&amp;quot;:&amp;quot;1&amp;quot;,&amp;quot;sourceTracks&amp;quot;:[{&amp;quot;token&amp;quot;:&amp;quot;3738472142918816058&amp;quot;,&amp;quot;trackid&amp;quot;:10602418,&amp;quot;parameters&amp;quot;:&amp;quot;Rotation=0&amp;quot;,&amp;quot;activeparameters&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;state&amp;quot;:&amp;quot;Active&amp;quot;,&amp;quot;error&amp;quot;:&amp;quot;&amp;quot;}]}]}],&amp;quot;token&amp;quot;:&amp;quot;6141235949812041025&amp;quot;,&amp;quot;location&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;directshow&amp;quot;,&amp;quot;retentionTime&amp;quot;:0,&amp;quot;activeJob&amp;quot;:6290858531577553758}]}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;fileUnmounting&amp;quot;,&amp;quot;params&amp;quot;:{&amp;quot;token&amp;quot;:&amp;quot;1319756543&amp;quot;}}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=16</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=16"/>
		<updated>2023-12-02T21:43:27Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Protocols ==&lt;br /&gt;
&lt;br /&gt;
[[HTTP JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[Websocket JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[GRPC]]&lt;br /&gt;
&lt;br /&gt;
[[ONVIF]]&lt;br /&gt;
&lt;br /&gt;
[[RTSP]]&lt;br /&gt;
&lt;br /&gt;
[[WebRTC]]&lt;br /&gt;
&lt;br /&gt;
[[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
&lt;br /&gt;
[[monoclecli]]&lt;br /&gt;
&lt;br /&gt;
[[monocleclient]]&lt;br /&gt;
&lt;br /&gt;
[[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[C]]&lt;br /&gt;
&lt;br /&gt;
[[Lua]]&lt;br /&gt;
&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
[[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=RTSP&amp;diff=15</id>
		<title>RTSP</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=RTSP&amp;diff=15"/>
		<updated>2023-12-02T17:12:46Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Recording replay stream == rtsp://192.168.0.10:554/recording/[RecordingToken]/replay  Examples: * rtsp://192.168.0.10:554/recording/1428641538893226984/replay  == Media stream == rtsp://192.168.0.10:554/media/[MediaToken]/stream  Examples: * rtsp://192.168.0.10:554/media/USBVideoDevice_MJPG_1920x1080/stream  == Playing rtsp streams == ffplay rtsp://admin:password@192.168.0.10:554/media/USBVideoDevice_MJPG_1920x1080/stream  vlc rtsp://admin:password@192.168.0.10:554/me...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Recording replay stream ==&lt;br /&gt;
rtsp://192.168.0.10:554/recording/[RecordingToken]/replay&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* rtsp://192.168.0.10:554/recording/1428641538893226984/replay&lt;br /&gt;
&lt;br /&gt;
== Media stream ==&lt;br /&gt;
rtsp://192.168.0.10:554/media/[MediaToken]/stream&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* rtsp://192.168.0.10:554/media/USBVideoDevice_MJPG_1920x1080/stream&lt;br /&gt;
&lt;br /&gt;
== Playing rtsp streams ==&lt;br /&gt;
ffplay rtsp://admin:password@192.168.0.10:554/media/USBVideoDevice_MJPG_1920x1080/stream&lt;br /&gt;
&lt;br /&gt;
vlc rtsp://admin:password@192.168.0.10:554/media/USBVideoDevice_MJPG_1920x1080/stream&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Monoclecli&amp;diff=14</id>
		<title>Monoclecli</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Monoclecli&amp;diff=14"/>
		<updated>2023-12-02T16:38:14Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;== Retrieve all recordings == monoclecli --address 192.168.0.10 --username admin --password password --getrecordings  == Retrieve all files == monoclecli --address 192.168.0.10 --username admin --password password --getfiles&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Retrieve all recordings ==&lt;br /&gt;
monoclecli --address 192.168.0.10 --username admin --password password --getrecordings&lt;br /&gt;
&lt;br /&gt;
== Retrieve all files ==&lt;br /&gt;
monoclecli --address 192.168.0.10 --username admin --password password --getfiles&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Monoclesecurity:About&amp;diff=13</id>
		<title>Monoclesecurity:About</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Monoclesecurity:About&amp;diff=13"/>
		<updated>2023-12-01T20:20:27Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;Useful website.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Useful website.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Monoclesecurity:General_disclaimer&amp;diff=12</id>
		<title>Monoclesecurity:General disclaimer</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Monoclesecurity:General_disclaimer&amp;diff=12"/>
		<updated>2023-12-01T20:20:17Z</updated>

		<summary type="html">&lt;p&gt;Chris: Created page with &amp;quot;Be accurate.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Be accurate.&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=HTTP_JSON-RPC&amp;diff=11</id>
		<title>HTTP JSON-RPC</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=HTTP_JSON-RPC&amp;diff=11"/>
		<updated>2023-11-26T19:09:05Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Retrieve all recording tokens ==&lt;br /&gt;
curl -X POST --user &amp;quot;admin:password&amp;quot; -H &#039;Content-Type: application/json&#039; -d &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;getRecordingTokens&amp;quot;}&#039; -s http://localhost:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;result&amp;quot;:[&amp;quot;2334007959136872822&amp;quot;,&amp;quot;3191928883051777765&amp;quot;,&amp;quot;3271420254935038039&amp;quot;],&amp;quot;error&amp;quot;:null,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Retrieve all current objects on a set of recordings ==&lt;br /&gt;
curl -X POST --user &amp;quot;admin:password&amp;quot; -H &#039;Content-Type: application/json&#039; -d &#039;{&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;getRecordingObjects&amp;quot;,&amp;quot;params&amp;quot;:[&amp;quot;3271420254935038039&amp;quot;,&amp;quot;2334007959136872822&amp;quot;]}&#039; -s http://localhost:9854/json&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;{&amp;quot;result&amp;quot;:[{&amp;quot;id&amp;quot;:1,&amp;quot;objectClass&amp;quot;:&amp;quot;Handbag&amp;quot;,&amp;quot;x&amp;quot;:0.301338,&amp;quot;y&amp;quot;:0.89906,&amp;quot;width&amp;quot;:0.234911,&amp;quot;height&amp;quot;:0.10094}],&amp;quot;error&amp;quot;:null,&amp;quot;id&amp;quot;:&amp;quot;id&amp;quot;}&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=10</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=10"/>
		<updated>2023-11-26T19:08:10Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Protocols ==&lt;br /&gt;
&lt;br /&gt;
[[HTTP JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[Websocket JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[GRPC]]&lt;br /&gt;
&lt;br /&gt;
[[RTSP]]&lt;br /&gt;
&lt;br /&gt;
[[WebRTC]]&lt;br /&gt;
&lt;br /&gt;
[[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
&lt;br /&gt;
[[monoclecli]]&lt;br /&gt;
&lt;br /&gt;
[[monocleclient]]&lt;br /&gt;
&lt;br /&gt;
[[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[C]]&lt;br /&gt;
&lt;br /&gt;
[[Lua]]&lt;br /&gt;
&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
[[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=9</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=9"/>
		<updated>2023-11-26T19:08:00Z</updated>

		<summary type="html">&lt;p&gt;Chris: /* Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Protocols ==&lt;br /&gt;
&lt;br /&gt;
[[HTTP JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[GRPC]]&lt;br /&gt;
&lt;br /&gt;
[[Websocket JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[RTSP]]&lt;br /&gt;
&lt;br /&gt;
[[WebRTC]]&lt;br /&gt;
&lt;br /&gt;
[[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
&lt;br /&gt;
[[monoclecli]]&lt;br /&gt;
&lt;br /&gt;
[[monocleclient]]&lt;br /&gt;
&lt;br /&gt;
[[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[C]]&lt;br /&gt;
&lt;br /&gt;
[[Lua]]&lt;br /&gt;
&lt;br /&gt;
[[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
[[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=8</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=8"/>
		<updated>2023-11-26T19:07:50Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Protocols ==&lt;br /&gt;
&lt;br /&gt;
[[HTTP JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[GRPC]]&lt;br /&gt;
&lt;br /&gt;
[[Websocket JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[RTSP]]&lt;br /&gt;
&lt;br /&gt;
[[WebRTC]]&lt;br /&gt;
&lt;br /&gt;
[[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
&lt;br /&gt;
[[monoclecli]]&lt;br /&gt;
&lt;br /&gt;
[[monocleclient]]&lt;br /&gt;
&lt;br /&gt;
[[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[C]]&lt;br /&gt;
&lt;br /&gt;
[[Lua]]&lt;br /&gt;
&lt;br /&gt;
[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
[[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
	<entry>
		<id>https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=7</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.monoclesecurity.com/index.php?title=Main_Page&amp;diff=7"/>
		<updated>2023-11-26T19:07:31Z</updated>

		<summary type="html">&lt;p&gt;Chris: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Protocols ==&lt;br /&gt;
&lt;br /&gt;
[[HTTP JSON-RPC]]&lt;br /&gt;
[[GRPC]]&lt;br /&gt;
[[Websocket JSON-RPC]]&lt;br /&gt;
[[RTSP]]&lt;br /&gt;
[[WebRTC]]&lt;br /&gt;
[[MQTT]]&lt;br /&gt;
&lt;br /&gt;
== Programs ==&lt;br /&gt;
&lt;br /&gt;
[[monoclecli]]&lt;br /&gt;
[[monocleclient]]&lt;br /&gt;
[[monocleserver]]&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
&lt;br /&gt;
[[C]]&lt;br /&gt;
[[Lua]]&lt;br /&gt;
[Python]]&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
&lt;br /&gt;
[[libmonocleserver]]&lt;/div&gt;</summary>
		<author><name>Chris</name></author>
	</entry>
</feed>