buzztouch plugin: VideoSnap
Version: v1.05
BT4 Record video, using front & back cameras & then email. Touch to start recording, let go to stop. Start, stop & swap between front & back camera's. Joins everything into one clip to review & email, or save to send later.
works on iOS iOS
Latest Review
Pointer0z2000tv | 07/24/15 (v1.02)
The best value plugin available. This can be an App on it's own. Support is incredible.
More Information
This README.txt file is used to describe what the plugin does, how it should be used, and how to configure the plugin for use in an application created using Buzztouch.

iOS Project only

The BT4 VideoSnap plugin allows your app to record a video snap as a square, std 4:3 or widescreen 16:9 format video, using 'touch to record'. It is based on the piemonte/PBJVision Github project (with a few extras), which is licensed under the MIT license. The user interface is different to the standard camera app - you touch and hold the screen to record, let go to stop. You can swap between front and back cameras during a recording, up to a pre-determined time limit (or when you want to stop, whichever comes first). The plugin joins all those start/stopped clips into one recording snap for you to review, then you can email it straight away, or save & send later.

There are several control panel options to that allow you to customise the experience:
- You can set the video recording quality.
- You can set the recording format to be widescreen (16:9), standard (4:3) or square (1:1).
- You can set the maximum recording time for a video snap.
- You can display a countdown timer when recording, to indicate how much time is left.
- You can bypass the in-built xib and link the key features directly to a menu plugin (not supplied).

Record a Snap
The "Record a Snap" feature uses a 3 step process. Step one presents the recording screen. Pressing the top right button to ends and takes the user to step 2, providing some recording has taken place. Step 2 allows the user to review the snap and decide to reject (the top left button) or accept (the top right button). If the user accepts, the snap is optionally saved to the camera roll and an email compose screen presented. If the user chooses to cancel at any stage, they are taken back to the beginning.

Video Recording File Size
VideoSnap is designed to deliver recordings that are small enough to be emailed. Experimenting with the options for recording format, quality and maximum recording time is recommended to optimise the size of the file to be emailed. Bear in mind different email systems have different limits on how large an email can be. The "Low" recording quality is really for testing purposes, "Medium" (which produces a video 360px wide) and "Med 480" (which produces a video 480px wide) are more appropriate for real usage. Setting the image format to "Square", "Standard" or "Widescreen" also affects the video file size.

"Pick & Send" option of VideoSnap uses the inbuilt Apple 'uipickerclass', which adds compression as it sends. This compression feature is not optional.

Countdown Timer
When recording, the timer counts down from the maximum video length to zero. The display size and color of the timer display can be adjusted. To help the user see when they are approaching the maximum recording limit, you can set up to three trigger points to that change the color of the timer as it counts down. The default timer color is white; to change that you set the first trigger point color to whatever you prefer and set the first trigger timer point to zero.

Presentation Options
A control panel option "Use VideoSnap XIB for Menu or Use External Menu" allows you to use the plugin in different presentation modes (i.e. with or without the xib). Using the xib is easier. Bypassing it allows you more control of your app overall navigation look and feel.

Using the xib is easier. Bypassing the xib and using an external menu allows you more control of your app overall navigation look and feel. If you are using this plugin as a home screen or directly from a tab menu, you will need to use an external menu instead of the xib. If you choose "Use xib for Snap and Send internal menu", VideoSnap presents an interface with two buttons. You can customise the xib if you wish, using the editor in xcode.

For all the above, the control panel sets the background color or image. Something dark (e.g. black) is most appropriate for the Record a Snap" functionality.

Saving Options
You can decide if the recording is saved on the local device camera roll before emailing. If set to 'No', the video can be emailed, but is not stored on the device afterwards.

You can set the filename of the video that is attached to the email.

VideoSnap is designed for you hold your device the normal way (e.g. vertically), which makes it easier to use one-handed.

"Allow Local Save" allow the video to be saved to the camera roll when pressing the 'tick' after reviewing a recording. If your device does not have enough memory to save, there is no error message.

The VideoSnap plugin uses components of the piemonte/PBJVision Github project, under the terms of the MIT licence.

Android Project
This plugin is IOS only.

JSON Data example
"itemId": "8E4B436A08AC945F8C7C68B",
"itemType": "AMG_VideoSnap",
"itemNickname": "Snap 480",
"vs_UseXib": "2",
"vsStartCamera": "1",
"vsRecordingFormat": "3",
"vsRecordingQuality": "2",
"vsRecSave": "1",
"vs_RecordingLimit": "45",
"vsShowTimer": "1",
"vsCountDownFontSizeSmallDevice": "16",
"vsCountDownFontSizeLargeDevice": "24",
"vsTriggerPointTimer1": "2",
"vsTriggerPointTimer2": "4",
"vsTriggerPointTimer3": "6",
"vsFontColorTimer1": "#FFCC00",
"vsFontColorTimer2": "#0099FF",
"vsFontColorTimer3": "#99FFCC",
"vsFontColorRecLabel": "#FFFFFF",
"vsBackColorRecLabel": "#FF3300",
"RecLabelText": "Press to Record",
"vs_videoFilename": "snapp.mp4",
"vs_email_subject": "snap video",
"navBarTitleText": "Snap 480",
"backgroundColor": "#000033"