App: SCSnapShotIP
Developer: Spencer Burroughs
Genres: Photo & Video

A basic photo application which allows for zooming, panning, rotating, mirroring, and framing of both image preview and capture when using an IP cameras providing an HTTP MJPG image stream. This app mimics many of the features provided by the macOS version of 'SCSnapShot' for USB and built-in cameras. Additionally, there is an iOS version available as well.

Important: All connections to cameras are currently made using http. Camera passwords are saved as unencrypted text in Core Data. Therefore, this app is currently designed to be used within a properly secured and trusted local area network.

Image can be cropped to the framed area when saved (set 'AutoCrop' on in 'Settings'), when the frame is present. Zooming is not limited to the center of the camera preview; especially useful when the camera is mounted or attached to a tripod. Use both the mouse wheel and/or the magnification (pinch) gesture for zooming in and out.

Use the (long) press gesture to initiate a drag operation to frame the image free-hand. Alternatively, select one of the standard frame sizes from the dropdown. The frame is optionally adjustable when displayed. Click the frame/erase button to add or remove the frame at any time. Use the best-fit button to reset the image whether framed or not. Finally, there are options which allow or disallow the panning, zooming, rotating, mirroring, resetting, framing, and adjusting of the image and frame.

Both the camera preview and captured image can be rotated in the four primary orientations; 0, 90, 180, and 270. This gives greater freedom in placing or mounting of cameras, as it is easy to obtain a right-side up image.

The application fully saves and restores the state of each camera connected, including the rotation, pan, zoom, and frame. This makes scanning though multiple cameras simple. State information is restored between sessions as well.

This application simply accesses a given IP camera's HTTP image stream. To configure and manipulate camera settings or access any other camera hardware features you must use either the manufacturer's software or third-party software providing similar functionality. Setting IP addresses, configuring authentication, and using advanced features of a given camera cannot be achieved via this application. The pan, zoom, frame, mirroring, and rotation features of this application are purely achieved through image manipulation via software.

The D-Link DCS-933L and Amcrest 1080P IP cameras are currently being used for development and testing.

P.S.: Knowledge of URL(s) for one or more HTTP compliant IP cameras connected to your local area network is required when utilizing the 'HTTP Sources' dialog (lower left-hand button on primary interface - the gear) to configure connection(s). Currently a web search is required to determine an http URL for a given make and model of IP camera. Note, not all IP cameras have HTTP MJPG streaming support, and when provided the resolutions and frame rates may not be ideal. Finally, actively monitored security system cameras may very well not support HTTP MJPG streams and can be encrypted, preventing any access to the video stream.

Release notes:
Provides a more stable application. Addresses rotation, mirroring, and framing issues related to a captured image - issues which could cause inconsistent results.