
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
react-native-ffmpeg
Advanced tools
FFmpeg for React Native
min | min-gpl | https | https-gpl | audio | video | full | full-gpl |
---|---|---|---|---|---|---|---|
- | vid.stab x264 x265 xvidcore | gnutls | gnutls vid.stab x264 x265 xvidcore | chromaprint lame libilbc libvorbis opencore-amr opus shine soxr speex wavpack | fontconfig freetype fribidi kvazaar libaom libass libiconv libtheora libvpx snappy | chromaprint fontconfig freetype fribidi gmp gnutls kvazaar lame libaom libass libiconv libilbc libtheora libvorbis libvpx libwebp libxml2 opencore-amr opus shine snappy soxr speex wavpack | chromaprint fontconfig freetype fribidi gmp gnutls kvazaar lame libaom libass libiconv libilbc libtheora libvorbis libvpx libwebp libxml2 opencore-amr opus shine snappy soxr speex vid.stab wavpack x264 x265 xvidcore |
$ npm install react-native-ffmpeg --save
$ react-native link react-native-ffmpeg
Add react-native-ffmpeg
pod to your Podfile
pod 'react-native-ffmpeg', :podspec => '../node_modules/react-native-ffmpeg/ios/react-native-ffmpeg.podspec'
Run pod install
Default installation of ReactNativeFFmpeg
using instructions in 2.1
and 2.2
enables the default package, which is based
on https
package. It is possible to enable other installed packages using following steps.
android/settings.gradle
file and modify projectDir
for react-native-ffmpeg
by appending package name at
the end of the path.
project(':react-native-ffmpeg').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-ffmpeg/android/<package name>')
ios/Podfile
file and modify podspec
path for react-native-ffmpeg
by appending package name at the end of
the name. After that run pod install
again.
pod 'react-native-ffmpeg-<package name>', :podspec => '../node_modules/react-native-ffmpeg/ios/react-native-ffmpeg-<package name>.podspec'
Create and execute commands.
import { LogLevel, RNFFmpeg } from 'react-native-ffmpeg';
RNFFmpeg.execute('-i file1.mp4 -c:v mpeg4 file2.mp4').then(data => {
console.log("FFmpeg process exited with rc " + data.rc);
});
Stop an ongoing operation.
RNFFmpeg.cancel();
Enable log callback.
logCallback = (logData) => {
console.log(logData.log);
};
...
RNFFmpeg.enableLogCallback(this.logCallback);
Enable statistics callback.
statisticsCallback = (statisticsData) => {
console.log('Statistics; frame: ' + statisticsData.videoFrameNumber.toFixed(1) + ', fps: ' + statisticsData.videoFps.toFixed(1) + ', quality: ' + statisticsData.videoQuality.toFixed(1) +
', size: ' + statisticsData.size + ', time: ' + statisticsData.time);
};
...
RNFFmpeg.enableStatisticsCallback(this.statisticsCallback);
Set log level.
RNFFmpeg.setLogLevel(LogLevel.AV_LOG_WARNING);
Register custom fonts directory.
RNFFmpeg.setFontDirectory('<folder with fonts>');
You can see how React Native FFmpeg
is used inside an application by running test application provided under test-app
folder. Current implementation performs command execution and video encoding operations.
This project is licensed under the LGPL v3.0. However, if installation is customized to use a package with -gpl
postfix (min-gpl, https-gpl, full-gpl) then ReactNativeFFmpeg is subject to the GPL v3.0 license.
Digital assets used in test applications are published in the public domain.
Feel free to submit issues or pull requests.
0.1.0 - 2018-09-16
FAQs
FFmpeg for React Native
We found that react-native-ffmpeg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.