【发布时间】:2020-04-24 03:19:31
【问题描述】:
我目前正在使用 react-native-video 并通过包播放 HLS 视频流。 有谁知道如何将视频下载到手机图库中?
查看包没有任何方法,想知道是否有其他包可以使用
谢谢!
【问题讨论】:
标签: react-native react-native-video
我目前正在使用 react-native-video 并通过包播放 HLS 视频流。 有谁知道如何将视频下载到手机图库中?
查看包没有任何方法,想知道是否有其他包可以使用
谢谢!
【问题讨论】:
标签: react-native react-native-video
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(通过服务器)并下载(网络)。
【讨论】: