Installation
Using npm:
npm install --save react-native-videoor using yarn:
yarn add react-native-videoThen follow the instructions for your platform to link react-native-video into your project
Specific platform installation
iOS
iOS
Standard Method
Enable custom feature in podfile file
Samples available in sample app see sample pod file (opens in a new tab)
Video caching
To enable Video caching usage, add following line in your podfile: (more info here)
# enable Video caching
+ $RNVideoUseVideoCaching=trueGoogle IMA
Google IMA is the google SDK to support Client Side Ads Integration (CSAI), see google documentation (opens in a new tab) for more information.
To enable google IMA usage define add following line in your podfile:
$RNVideoUseGoogleIMA=trueAndroid
Android
From version >= 6.0.0, your application needs to have kotlin version >= 1.7.0
buildscript {
...
ext.kotlinVersion = '1.7.0'
...
}Enable custom feature in gradle file
Enable client side ads insertion
To enable client side ads insertion CSAI with google IMA SDK, you need to enable it in your gradle file.
buildscript {
ext {
...
RNVUseExoplayerIMA = true
...
}
}Windows
Windows
Autolinking
React Native Windows 0.63 and above
Autolinking should automatically add react-native-video to your app.
Manual Linking
React Native Windows 0.62
Make the following additions to the given files manually:
windows\myapp.sln
Add the ReactNativeVideoCPP project to your solution (eg. windows\myapp.sln):
- Open your solution in Visual Studio 2019
- Right-click Solution icon in Solution Explorer > Add > Existing Project...
- Select
node_modules\react-native-video\windows\ReactNativeVideoCPP\ReactNativeVideoCPP.vcxproj
windows\myapp\myapp.vcxproj
Add a reference to ReactNativeVideoCPP to your main application project (eg. windows\myapp\myapp.vcxproj):
- Open your solution in Visual Studio 2019
- Right-click main application project > Add > Reference...
- Check ReactNativeVideoCPP from Solution Projects
pch.h
Add #include "winrt/ReactNativeVideoCPP.h".
app.cpp
Add PackageProviders().Append(winrt::ReactNativeVideoCPP::ReactPackageProvider()); before InitializeComponent();.
React Native Windows 0.61 and below
Follow the manual linking instructions for React Native Windows 0.62 above, but substitute ReactNativeVideoCPP61 for ReactNativeVideoCPP.
tvOS
tvOS
react-native link react-native-video doesn’t work properly with the tvOS target so we need to add the library manually.
First select your project in Xcode.

After that, select the tvOS target of your application and select « General » tab

Scroll to « Linked Frameworks and Libraries » and tap on the + button

Select RCTVideo-tvOS

visionOS
visionOS
Add patch for promises pods to your pod files to make it work with visionOS target.
This patch is required only for
visionOStarget and will be removed in future.
+ pod 'PromisesSwift', :podspec => '../node_modules/react-native-video/ios/patches/PromisesSwift.podspec'
+ pod 'PromisesObjC', :podspec => '../node_modules/react-native-video/ios/patches/PromisesObjC.podspec'Remember to run pod install after adding this patch.
After this you can follow the same steps as for iOS target.
Examples
Run yarn xbasic install in the root directory before running any of the examples.
iOS Example
yarn xbasic iosAndroid Example
yarn xbasic androidWindows Example
yarn xbasic windows