All Projects → phuochau → React Native Beautiful Video Recorder

phuochau / React Native Beautiful Video Recorder

The video recorder component that extends from react-native-camera. It works for both iOS & Android.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Native Beautiful Video Recorder

React Native Modal Dropdown
A react-native dropdown/picker/selector component for both Android & iOS.
Stars: ✭ 1,103 (+440.69%)
Mutual labels:  react-native-component
React Native Push Notification Popup
A <NotificationPopup/> component for presenting your own push notification in react-native app
Stars: ✭ 111 (-45.59%)
Mutual labels:  react-native-component
React Native Timeline Flatlist
FlatList based timeline component for React Native for iOS and Android
Stars: ✭ 163 (-20.1%)
Mutual labels:  react-native-component
React Native Ios Context Menu
A react-native component to use context menu's (UIMenu) on iOS 13/14+
Stars: ✭ 80 (-60.78%)
Mutual labels:  react-native-component
React Native Barcode Scanner Google
Barcode scanner for react native, which implements barcode detection from Google's Vision API.
Stars: ✭ 105 (-48.53%)
Mutual labels:  react-native-component
React Native Design Utility
Utility for building design system in react-native. Idea from TailwindCSS
Stars: ✭ 116 (-43.14%)
Mutual labels:  react-native-component
React Native Hide Show Password Input
React-Native Hide Show Password InputText Component
Stars: ✭ 50 (-75.49%)
Mutual labels:  react-native-component
React Native Photos Framework
A modern and comprehensive CameraRoll/iCloud-library-API for React Native 📸 📹
Stars: ✭ 190 (-6.86%)
Mutual labels:  react-native-component
React Native Slot Machine
Text slot machine for react-native
Stars: ✭ 109 (-46.57%)
Mutual labels:  react-native-component
React Native Zoomable View
A view component for react-native with pinch to zoom, tap to move and double tap to zoom capability.
Stars: ✭ 152 (-25.49%)
Mutual labels:  react-native-component
React Native Deck Swiper
tinder like react-native deck swiper
Stars: ✭ 1,261 (+518.14%)
Mutual labels:  react-native-component
React Native Otp Inputs
OTP inputs for React-Native
Stars: ✭ 101 (-50.49%)
Mutual labels:  react-native-component
React Native Thumbnail
Get thumbnail from local media. Currently, it only supports for video.
Stars: ✭ 122 (-40.2%)
Mutual labels:  react-native-component
React Native Action Sheet Component
React Native Action Sheet Component for iOS & Android.
Stars: ✭ 60 (-70.59%)
Mutual labels:  react-native-component
React Native Performance Monitor
React Native Performance Monitor - Realtime graphing of React Native render performance
Stars: ✭ 174 (-14.71%)
Mutual labels:  react-native-component
React Arkit
AR library for React-Native based on ARKit
Stars: ✭ 57 (-72.06%)
Mutual labels:  react-native-component
React Native Image Slider Box
A simple and fully customizable React Native component that implements an Image Slider UI.
Stars: ✭ 113 (-44.61%)
Mutual labels:  react-native-component
React Native Side Menu
Side menu component for React Native
Stars: ✭ 2,214 (+985.29%)
Mutual labels:  react-native-component
React Native Simple Modal
A simple JavaScript modal component for React Native.
Stars: ✭ 179 (-12.25%)
Mutual labels:  react-native-component
React Native Draggable Grid
A draggable and sortable grid of react-native
Stars: ✭ 137 (-32.84%)
Mutual labels:  react-native-component

react-native-beautiful-video-recorder

The video recorder component that extends from react-native-camera. It works for both iOS & Android.

Sample

Features:

  • Record video on iOS and Android.
  • Support cameraOptions and recordAsyncOptions from react-native-camera

Installation

yarn add react-native-beautiful-video-recorder react-native-camera react-native-vector-icons

Follow react-native-camera & react-native-vector-icons for linking native libraries.

Please file an issue if you have any trouble!

Configuration

iOS

With iOS 10 and higher you need to add the "Privacy - Camera Usage Description" key to the info.plist of your project. This should be found in your_project/ios/your_project/Info.plist. Add the following code:

<key>NSCameraUsageDescription</key>
<string>Your message to user when the camera is accessed for the first time</string>

<!-- Include this only if you are planning to use the microphone for video recording -->
<key>NSMicrophoneUsageDescription</key>
<string>Your message to user when the microsphone is accessed for the first time</string>

Android

Add permissions in your Android Manifest (required for video recording feature)

<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Usage

import VideoRecorder from 'react-native-beautiful-video-recorder';
....

start = () => {
	// 30 seconds
	this.videoRecorder.open({ maxLength: 30 },(data) => {
		console.log('captured data', data);
	});
}

render() {
	return (
		<View>
			......
		  <TouchableOpacity onPress={this.start}>
		  	<Text>Start</Text>
		  </TouchableOpacity>
		  <VideoRecorder ref={(ref) => { this.videoRecorder = ref; }} />
		</View>
	);
}

Properties

param Info
cameraOptions https://github.com/react-native-community/react-native-camera/blob/master/docs/RNCamera.md
recordOptions https://github.com/react-native-community/react-native-camera/blob/master/docs/RNCamera.md

Callback Data

The calback will be fulfilled with an object with some of the following properties:

  • uri: (string) the path to the video saved on your app's cache directory.

  • videoOrientation: (number) orientation of the video

  • deviceOrientation: (number) orientation of the device

  • iOS codec: the codec of the recorded video. One of RNCamera.Constants.VideoCodec

  • isRecordingInterrupted: (boolean) whether the app has been minimized while recording

Todo

  • Support playback before saving.
  • Switch camera.

License

MIT

Contact

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].