gpt4 book ai didi

react-native - 如何压缩视频并将其发送到像whatsapp这样的firebase存储 react 原生

转载 作者:行者123 更新时间:2023-12-04 23:33:18 33 4
gpt4 key购买 nike

我必须开发一个可以将视频发送到 Firebase 存储的应用程序,目标是能够像 whatsapp 一样快速发送视频,例如。我的问题是一些视频很重并且需要时间来发送所以我想压缩视频。为此我使用
ffmpeg-kit,但压缩需要很长时间,例如我有一个 1 分钟的视频。所以我想知道如何更好地继续快速压缩视频并将其发送到数据库?是否可以将视频分成一小部分并并行化 ffmpeg 任务然后再次构建视频?不知道是否有人可以提供帮助可能会很好,因为我迷路了。 Ty,这是我的压缩代码:

 function processVideo(videoUrl) {
const finalVideo = `${RNFS.CachesDirectoryPath}/audioVideoFinal.mp4`;
const destPath = `${RNFS.CachesDirectoryPath}/test.mp4`;
RNFS.copyFile(videoUrl, destPath).then(()=>{
const str_cmd = `-i ${destPath} -vf scale=-2:960 -c:v libx264 -preset ultrafast -crf 26 -r 30 ${finalVideo}`
FFmpegKit.executeAsync(str_cmd, async (session) => {
const returnCode = await session.getReturnCode();
if (ReturnCode.isSuccess(returnCode)) {
const path =Platform.OS === 'android' ? 'file://' + finalVideo : finalVideo
setUrlCompress(path);
RNFS.unlink(destPath);
} else {
//console.log(`Encode failed with state ${state} and rc ${returnCode}.${notNull(failStackTrace, "\\n")}`);
}
}, log => {}, statistics => {}).then(session => console.log(`Async FFmpeg process started with sessionId ${session.getSessionId()}.`));
})
};

最佳答案

您可以使用react-native-video-helper用于压缩视频的软件包。这也是我在被困时想出的。
你可以像这样使用它:

import RNVideoHelper from 'react-native-video-helper';

const sourceUri = 'assets-library://asset/asset.mov?id=0F3F0000-9518-4F32-B389-7117F4C2B069&ext=mov';

RNVideoHelper.compress(sourceUri, {
startTime: 10, // optional, in seconds, defaults to 0
endTime: 100, // optional, in seconds, defaults to video duration
quality: 'low', // default low, can be medium or high
defaultOrientation: 0 // By default is 0, some devices not save this property in metadata. Can be between 0 - 360
}).progress(value => {
console.warn('progress', value); // Int with progress value from 0 to 1
}).then(compressedUri => {
console.warn('compressedUri', compressedUri); // String with path to temporary compressed video
});
希望这对你有用。

关于react-native - 如何压缩视频并将其发送到像whatsapp这样的firebase存储 react 原生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69586685/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com