iOS app to automagically control device torch/flash and capture photos

Related tags

Image BlobStar
Overview

BlobStar

Version française 🇫🇷

iOS application to automagically control the device torch/flash and capture photos.

The software was quickly drafted to monitor some Physarum Polycephalum evolution during the Mission Alpha's experiment #EleveTonBlob. This custom project was crafted by a volunteer parent to help a primary school in French Jura, not so far away from where the first Comté 🧀 to the ISS was produced.

Photos are saved in the device Photo Library and are meant to be aggregated in a movie file later. Consult the post-processing section for examples.

The name is a word play on "blob", the other name The French 🇫🇷 give to the Physarum Polycephalum, and The B-52's track Rock Lobster 🦞

Features

  • Take photo every 1 to 60 minutes
  • Control torch level and flash mode
  • Turn on then off torch during capture
  • Store geo-coordinates in photo EXIF data
  • Save photo in Photo Library
  • Persistent user settings
  • Prevent device from sleeping when app is active

Preview

A picture is worth a thousand words, so here you have a Simulator screen shot:

BlobStar Simulator Preview

Privacy 🔒

The app needs to access some Privacy sensitive features, such as:

Privacy Permission Required Usage
Camera Access the Camera Preview and capture photos
Location Allow While Using App Store device location in photo EXIF data
Photo Library Allow Access to All Photos Store photo in the device library

Location and Camera permissions are requested at the app first launch.

Photo Library permission is requested during the first photo capture. Press the Camera 📷 button to trigger the authorization first.

The app raises a fatalError() when it can't access the camera 🐞 and no photo is saved when it can't access the Photo Library. This is by poor design because of rushed deadlines, and Privacy options can later be fixed in the BlobStar preferences panel of the Settings app.

Build

The app was developed with Xcode version 13 and tested on recent devices running iOS version 15.

It is trivial to build and run the app on any device, as long as you deal with the Code Signing requirements. That's it, anyone with a Mac and registered as a free Developer can install Xcode to build and install iOS apps, with just a few limitations such as the provisioning profile expiration period.

The project source code is provided as is and it's not ok to contact me for support (this file covers pretty much everything you need) or feature requests beyond the scope of the mission. Responsible pull requests and forks are welcome.

Post-processing

On macOS, you can export the photos from the device using either Photos or Image Capture app, then use the Open Image Sequence command in QuickTime Player app to create the video file.

Advanced users may prefer running:

  • the scriptable image processing system command-line interface sips to convert HEIC images to PNG or TIFF
  • FFmpeg to create H.264 or ProRes sequential movie files

Example:

# Go to photo directory
cd /path/to/photo/dir

# Convert HEIC files to PNG
find . -name "*.HEIC" | sort | while read filename
do
    sips -s format png "${filename}" -o "${filename%.*}.png"
done

# Create a 12 frames per second H.264 video file
ffmpeg -framerate 12 -pattern_type glob -i "*.png" -c:v libx264 -pix_fmt yuv420p output.mp4

# Create a 12 frames per second ProRes video file
ffmpeg -framerate 12 -pattern_type glob -i "*.png" -c:v prores -profile:v 3 -pix_fmt yuv422p10 output.mov

And here you have ffmpeg options to eventually transpose images by 90 degrees clockwise: -vf "transpose=1"

Use Homebrew package manager to install FFmpeg and its dependencies 🍺

Acknowledgments

Many thanks to the wonderful pilots, doctors, engineers, etc. who turn the Space discovery dream into a reality. I am so glad you are sharing your research with all the kids down here 🌍

Also, I am using the mission logo for the app icon without permission, sorry ??

You might also like...
A framework that lists all photos in the album that contain faces.

FaceCollectionViewKit A framework that lists all photos in the album that contain faces. Features It uses the detection features of CIDetectorTypeFace

A custom image view that implements device motion scrolling
A custom image view that implements device motion scrolling

YXTMotionView A custom image view that implements device motion scrolling Installation CocoaPods Add the dependency to your Podfile: platform :ios pod

ImagePicker - selecting images from the photo albums, with allowed permissions /on real device accesing the camera
ImagePicker - selecting images from the photo albums, with allowed permissions /on real device accesing the camera

ImagePicker - selecting images from the photo albums, with allowed permissions /on real device accesing the camera, permission also needed/after picking an image it has the possibility to rename it

An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Control phone.
An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Control phone.

MultiScreenApp An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Contro

Set of Extensions and Custom control for standard types and classes 🎨

OpencvQueen Set of Extensions and Custom control for standard types and classes. Just like Doraemon’s pocket, has an endless variety of props for us t

A beautiful and flexible text field control implementation of
A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift.

SkyFloatingLabelTextField SkyFloatingLabelTextField is a beautiful, flexible and customizable implementation of the space saving "Float Label Pattern"

Source code for the iOS app Screenshotter, on the App Store

Screenshotter This is the source code for the iOS app Screenshotter, available on the App Store. General Project Info Screenshotter is an Objective C

 SwiftUI App Icon Generator App for iOS & macOS Catalyst
SwiftUI App Icon Generator App for iOS & macOS Catalyst

SwiftUI App Icon Generator App for iOS & macOS Catalyst Generate Asset Icons easily to your iPhone, iPad, Mac, and Apple Watch Features The app has se

Microblog-ref-app - A Twitter like social media app that users can share their moments
Microblog-ref-app - A Twitter like social media app that users can share their moments

HiPlace - iOS Table of Contents Introduction HMS Services Getting Started Suppor

Owner
Ninja Inc
Ninja Inc
Jogendra 113 Nov 28, 2022
A free, multiplatform SDK for real-time facial motion capture using blendshapes, and rigid head pose in 3D space from any RGB camera, photo, or video.

mocap4face by Facemoji mocap4face by Facemoji is a free, multiplatform SDK for real-time facial motion capture based on Facial Action Coding System or

Facemoji 592 Jan 1, 2023
An iOS app that helps you check, edit and delete metadata of photos, including but not limited to EXIF, TIFF...

MetaX A simple iOS app that helps you check, edit and delete metadata of photos, including but not limited to EXIF, TIFF... Feature List main metadata

Yuhan Chen 189 Dec 29, 2022
Instant font size adjustment with control – / control +

Plugins manipulating UI (like this one) are not supported by Xcode 8 UPDATE: to avoid conflict with Interface Builder hotkeys are changed to Control -

Sash Zats 271 Jul 30, 2022
Starter project for Mars rover photos iOS app.

MarzyPan is an app that allows users to view photos taken by Mars rovers during their time on the planet. This is a starter project that has some UI

Ruben Hansen-Rojas 0 Dec 30, 2021
UnsplashPhotosApp - Photos app using Unsplash API

UnsplashPhotosApp If you like this open-source project please consider supportin

Watery Desert 27 Dec 18, 2022
An iOS/tvOS photo gallery viewer, useful for viewing a large (or small!) number of photos.

This project is unmaintained. Alex passed away in an accident in late 2019. His love of iOS development will always be remembered. AXPhotoViewer AXPho

Alex Hill 596 Dec 30, 2022
DTPhotoViewerController - A fully customizable photo viewer ViewController to display single photo or collection of photos, inspired by Facebook photo viewer.

DTPhotoViewerController Example Demo video: https://youtu.be/aTLx4M4zsKk DTPhotoViewerController is very simple to use, if you want to display only on

Tung Vo 277 Dec 17, 2022
A carousel of stacked items as seen in iMessage for photos

StackedItemsCarousel A carousel of stacked items (such as photos) as seen in iMessage What? iMessage on iOS 15 shows multiple photos in a carousel of

Andreas Verhoeven 5 Sep 30, 2022
FlickrSearchPhotos - Simple search photos application which uses Flickr REST API made in Swift

FlickrSearchPhotos - Simple search photos application which uses Flickr REST API made in Swift

 Mihai Erős 1 Jun 6, 2022