Julian Schroden

Hi, I am Julian

Full-time Software Engineer and Hobby Filmmaker interested in motion and camera control systems.
Back to Home

Exploring the Canon Browser Remote API

Image of Cine Remote app in action.
Exploring the Canon Browser Remote API
Using the Canon Browser Remote API in a Flutter App
Over the past three months, I have been working on reverse-engineering the Canon C100 II's Browser Remote API to create a mobile remote control app. The result is a Flutter app which I'll showcase in this post, including my plans for the project.
Live View image on iOS App
Exploring the Canon Browser Remote API
Polling the Live View Preview
When controlling a camera remotely, it is crucial to have a Live View preview to judge the composition and exposure. Luckily the Browser Remote API offers an endpoint to fetch the current Live View image. This post explains how you can enable the live view functionality and poll the current preview image.
Canon C100 II record button detail
Exploring the Canon Browser Remote API
Taking control of the Canon EOS C100 II
After the previous parts described the setup and initialization of the Browser Remote API, this post finally explains how to use the API to control the state of a Canon C100 II. You'll learn how to start and stop a recording and adjust properties like aperture, iso and shutter speed.
Canon C100 II with Cookies
Exploring the Canon Browser Remote API
Initializing the connection and polling for Updates
The Canon EOS C100 II requires certain cookies as part of the request headers for the communication to work. This post describes how you can obtain all necessary cookies and keep property data in sync by polling for updates.
Browser Remote setting on Canon C100 II
Exploring the Canon Browser Remote API
Setup to reverse engineer the Browser Remote API of the Canon C100 II
The Browser Remote function lets you control a Canon Cinema camera using a web interface. Since the communication is based on HTTP, I wanted to explore the underlying API to use it for my own projects. This article covers the setup process and the tools I used to reverse engineer the API.