Installation

Installation

Using npm:

npm install --save react-native-video

or using yarn:

yarn add react-native-video

Then follow the instructions for your platform to link react-native-video into your project

Specific platform installation

iOS

iOS

Standard Method

Run pod install in the ios directory of your project.

⚠️ from version 6.0.0 the minimum iOS version required is 13.0. For more information see updating section

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=true

Google 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=true

If you are using Expo you can use expo plugin for it

Android

Android

From version >= 6.0.0, your application needs to have kotlin version >= 1.8.0

buildscript {
    ...
    ext.kotlinVersion = '1.8.0',
    ext.compileSdkVersion = 34
    ext.targetSdkVersion = 34
    ...
}

Enable custom feature in gradle file

If you are using Expo you can use expo plugin for it

You can disable or enable the following features by setting the following variables in your android/build.gradle file:

  • useExoplayerIMA - Enable Google IMA SDK (Ads support)
  • useExoplayerRtsp - Enable RTSP support
  • useExoplayerSmoothStreaming - Enable SmoothStreaming support
  • useExoplayerDash - Enable Dash support
  • useExoplayerHls - Enable HLS support

Each of these features enabled will increase the size of your APK, so only enable the features you need. By default enabled features are: useExoplayerSmoothStreaming, useExoplayerDash, useExoplayerHls

Example:

buildscript {
  ext {
    ...
    useExoplayerIMA = true
    useExoplayerRtsp = true
    useExoplayerSmoothStreaming = true
    useExoplayerDash = true
    useExoplayerHls = true
    ...
  }
}

See sample app (opens in a new tab)

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):

  1. Open your solution in Visual Studio 2019
  2. Right-click Solution icon in Solution Explorer > Add > Existing Project...
  3. 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):

  1. Open your solution in Visual Studio 2019
  2. Right-click main application project > Add > Reference...
  3. 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.

tvOS step 1

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

tvOS step 2

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

tvOS step 3

Select RCTVideo-tvOS

tvOS step 4

visionOS

visionOS

Run pod install in the visionos directory of your project