{"id":4055,"date":"2026-10-03T00:51:59","date_gmt":"2026-10-03T00:51:59","guid":{"rendered":"https:\/\/techministry.blog\/?p=4055"},"modified":"2026-10-03T00:51:59","modified_gmt":"2026-10-03T00:51:59","slug":"introducing-ptz-pilot-control-your-live-stream-ptz-cams-or-even-security-cameras-using-game-and-drone-controllers","status":"publish","type":"post","link":"https:\/\/techministry.blog\/?p=4055","title":{"rendered":"Introducing PTZ Pilot: control your live stream PTZ cams or even security cameras using game and drone controllers!"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Been a bit since I posted. Life keeps on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I&#8217;m still in full time ministry &#8211; I have been on staff at Fellowship Greenville now for 21+ years. A few months ago, I was moved from the AVL department to the IT department &#8211; I am now a full time Network Administrator!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s been fun to take some of our network closets from looking like this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-6-768x1024.png\" alt=\"\" class=\"wp-image-4067\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-6-768x1024.png 768w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-6-225x300.png 225w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-6.png 1046w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">To this:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1024\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-4-768x1024.png\" alt=\"\" class=\"wp-image-4065\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-4-768x1024.png 768w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-4-225x300.png 225w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-4.png 1046w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">So now my days are filled with VLANs, subnets, and bringing stability to our multi-site network. I&#8217;m also working on a new <a href=\"https:\/\/networkmanager.app\">SaaS for network management<\/a> that I hope to launch soon. It&#8217;s quickly become my primary tool for network visbility and control.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I still have a deep love for AVL though, and I recently decided to make an application to natively drive PTZ cameras of many different brands like Sony, Panasonic, Canon, Bird Dog, PTZOptics (and whatever supports VISCA!) using gaming controllers and drone controllers. You may recall my experiments with gaming controllers when I released <a href=\"https:\/\/techministry.blog\/?p=3406\" data-type=\"post\" data-id=\"3406\">gamepad-io<\/a>. I wanted to make something easy to use and help make operating PTZs easier for churches.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, here&#8217;s my new app: PTZ Pilot!<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"636\" data-id=\"4057\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-1024x636.png\" alt=\"\" class=\"wp-image-4057\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-1024x636.png 1024w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-300x186.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-768x477.png 768w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-1536x954.png 1536w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-2048x1272.png 2048w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/1-xbox-controller-live-1200x745.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"636\" data-id=\"4058\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-1024x636.png\" alt=\"\" class=\"wp-image-4058\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-1024x636.png 1024w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-300x186.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-768x477.png 768w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-1536x954.png 1536w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-2048x1272.png 2048w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/2-magicsee-r1-hold-to-zoom-1200x745.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"636\" data-id=\"4059\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-1024x636.png\" alt=\"\" class=\"wp-image-4059\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-1024x636.png 1024w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-300x186.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-768x477.png 768w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-1536x954.png 1536w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-2048x1272.png 2048w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/3-hanwha-camera-presets-1200x745.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"636\" data-id=\"4060\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-1024x636.png\" alt=\"\" class=\"wp-image-4060\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-1024x636.png 1024w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-300x186.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-768x477.png 768w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-1536x954.png 1536w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-2048x1272.png 2048w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/4-dji-rc-n1-1200x745.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n<\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It supports any gaming controller, like an Xbox controller.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1000\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image.png\" alt=\"\" class=\"wp-image-4061\" style=\"width:368px;height:auto\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image.png 1000w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-300x300.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-150x150.png 150w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-768x768.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">You could use a DJI RC-N1 with it.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1000\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-1.png\" alt=\"\" class=\"wp-image-4062\" style=\"width:422px;height:auto\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-1.png 1000w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-1-300x300.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-1-150x150.png 150w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-1-768x768.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">I even added support for this cool little MagicSee R1 ring joystick.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"1000\" src=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-2.png\" alt=\"\" class=\"wp-image-4063\" style=\"width:227px;height:auto\" srcset=\"https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-2.png 1000w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-2-300x300.png 300w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-2-150x150.png 150w, https:\/\/techministry.blog\/wp-content\/uploads\/2026\/10\/image-2-768x768.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s written in Electron and typescript and all the good things. It&#8217;s free because I want to serve the church! You can download it from Github right here: <a href=\"https:\/\/github.com\/josephdadams\/ptz-pilot\/releases\">https:\/\/github.com\/josephdadams\/ptz-pilot\/releases<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I typically release my apps for MacOS, Windows, and Linux, but I decided that I don&#8217;t really like having to support Windows because I don&#8217;t use it, so for my free apps, I am just going to release for MacOS from now on unless I happen to need it for another OS. You can always compile it yourself if you absolutely need it on Windows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oh, just for fun, I made it support security cameras like Hikvision and Hanwha so I could even use it at home. So you can control any ONVIF camera with it also!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PTZ Pilot also has a Companion module so you can interact with the app remotely as well. You can select which camera shows in PTZ Pilot&#8217;s window, assign a controller to a camera, step a controller to the next or previous camera, and more. That&#8217;s already in Companion, so search for it there and add it!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lastly &#8211; if you you need custom software solutions for your church or business, <a href=\"https:\/\/www.josephadams.dev\">please reach out to me<\/a>. I am trying to do more side work to provide for my <a href=\"https:\/\/techministry.blog\/?page_id=19\" data-type=\"page\" data-id=\"19\">family<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Been a bit since I posted. Life keeps on. I&#8217;m still in full time ministry &#8211; I have been on staff at Fellowship Greenville now for 21+ years. A few months ago, I was moved from the AVL department to the IT department &#8211; I am now a full time Network Administrator! It&#8217;s been fun &hellip; <a href=\"https:\/\/techministry.blog\/?p=4055\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Introducing PTZ Pilot: control your live stream PTZ cams or even security cameras using game and drone controllers!&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[17,29,38,50,51],"class_list":["post-4055","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-church","tag-javascript","tag-ministry","tag-production","tag-programming"],"_links":{"self":[{"href":"https:\/\/techministry.blog\/index.php?rest_route=\/wp\/v2\/posts\/4055","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techministry.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techministry.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techministry.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techministry.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4055"}],"version-history":[{"count":1,"href":"https:\/\/techministry.blog\/index.php?rest_route=\/wp\/v2\/posts\/4055\/revisions"}],"predecessor-version":[{"id":4069,"href":"https:\/\/techministry.blog\/index.php?rest_route=\/wp\/v2\/posts\/4055\/revisions\/4069"}],"wp:attachment":[{"href":"https:\/\/techministry.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4055"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techministry.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4055"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techministry.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}