react-native-video/docs/pages/installation.md
Krzysztof Moch 64e3191f73
feat(android): allow to disable selected functionalities (#3681)
* feat(android): add possibility do disable some of functionalities

* create dump classes

* remove dump files when functionalities are enabled

* add docs

* enable all functionalities in example

* throw error when trying to use disabled functionality

* update docs
2024-04-16 14:23:19 +02:00

4.5 KiB
Raw Blame History

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.

Enable custom feature in podfile file

Samples available in sample app see sample pod file

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 for more information.

To enable google IMA usage define add following line in your podfile:

$RNVideoUseGoogleIMA=true
Android

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

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

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 doesnt 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

Examples

Run yarn xbasic install in the root directory before running any of the examples.

iOS Example

yarn xbasic ios

Android Example

yarn xbasic android

Windows Example

yarn xbasic windows