New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

rn-ffmpeg-video-editor

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rn-ffmpeg-video-editor

rn-ffmpeg-video-editor: An easy-to-use React Native library that allows you to effortlessly trim and manipulate video content. With a user-friendly timeline component, you can quickly select and trim specific portions of a video, giving you the power to c

  • 0.1.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
increased by200%
Maintainers
1
Weekly downloads
 
Created
Source

rn-ffmpeg-video-editor

rn-ffmpeg-video-editor: An easy-to-use React Native library that allows you to effortlessly trim and manipulate video content. With a user-friendly timeline component, you can quickly select and trim specific portions of a video, giving you the power to create customized video segments. Built on the foundation of ffmpeg-kit-react-native, this library bridges the gap between native FFmpeg functionality and JavaScript, making video editing a breeze in your React Native applications. Stay tuned for more exciting features, including video filters, in future updates!

Installation

npm install rn-ffmpeg-video-editor

or

yarn add rn-ffmpeg-video-editor

This package uses react-native-fs package as a peer dependency so you have to install this package also in your project.

Usage

import React, {useState, createRef} from 'react';
import {TouchableOpacity, View, Text, StyleSheet} from 'react-native';
import {FrameTimeLine} from 'rn-ffmpeg-video-editor';
import ImageCropPicker from 'react-native-image-crop-picker';
import Video from 'react-native-video';

const App = () => {
  const [selectedVid, setSelectedVid] = useState('');
  const frameRef = createRef();
  const videoRef = createRef();

  const handleSelectVid = async () => {
    try {
      const resPath = await ImageCropPicker.openPicker({mediaType: 'video'});
      setSelectedVid(resPath);
    } catch (error) {
      console.error('selectVidErr ', error);
    }
  };

  const cropVideo = async () => {
    await frameRef.current.trimVideo({clearCacheFiles: true});
    console.log('videoUrl ', frameRef?.current.videoMetaData);
  };

  return (
    <View style={styles.container}>
      <FrameTimeLine
        ref={frameRef}
        seekAt={time => {
          videoRef.current?.seek(time);
        }}
        inputVidMetaData={selectedVid}
      />

      <Video
        ref={videoRef}
        source={{
          uri: 'file://' + selectedVid.path,
        }}
        style={styles.video}
        resizeMode="contain"
        muted
        repeat
        paused={false}
      />
      <View style={styles.btnContainer}>
        <TouchableOpacity
          onPress={handleSelectVid}
          style={styles.selectVidButton}
        >
          <Text style={styles.btnTxt}>Select Video</Text>
        </TouchableOpacity>
        <TouchableOpacity onPress={cropVideo} style={styles.selectVidButton}>
          <Text style={styles.btnTxt}>Crop Video</Text>
        </TouchableOpacity>
      </View>
    </View>
  );
};

// ...

export default App;

License

MIT


Made with ffmpeg-kit-react-native

Keywords

FAQs

Package last updated on 08 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc