React-Native-Video -> 如何保存视频

React-Native-Video -> how to save a video

我目前正在使用 react-native-video 并通过包播放 HLS 视频流。 任何人都知道如何将视频下载到 phone 图库?

查看包中没有任何方法,想知道是否有其他包可以使用

谢谢!

HLS 的流式传输方式使数据不兼容保存到单个数据文件中。因此,您可能无法将用于演示的流中的视频保存到文件中是有充分理由的。

另一个原因是 RN Video 组件不提供此功能。

从流媒体内容保存文件(例如 MP4)的工具通常与流媒体播放器的不同之处在于它们下载数据块的方式完全不同,记住这些视频块用于文件.

在我的应用程序中,我使用 RNFS (react-native-fs) 下载视频,然后使用 react-native-video 播放。实现其目的的两个不同的库。

import RNFS from'react-native-fs'

const LOCAL_PATH_TO_VIDEO = Platform.OS === 'ios' ? `${RNFS.DocumentDirectoryPath}/mood-pixel-${timestamp}.mp4` : `${RNFS.ExternalDirectoryPath}/mood-pixel-${timestamp}.mp4`

RNFS.downloadFile({
  fromUrl: REMOTE_URI_OF_VIDEO,
  toFile: LOCAL_PATH_TO_VIDEO,
}).then(() => {
  console.log('successful video download! Save LOCAL_PATH_TO_VIDEO onto device for later use')
})

下载成功后,将 LOCAL_PATH_TO_VIDEO 保存到设备上并使用它来播放下载的视频。

最后我也没有很好的解决办法。我做了一个 ffmpeg 将 hls 转换回 mp4(通过服务器)并下载(网络)。