Попытался использовать реакцию на нативную видеообработку Шахена:
Ниже приведен код:
compressVideo(source) {
const options = {
width: 800,
height: 800,
bitrateMultiplier: 3,
saveToCameraRoll: true,
saveWithCurrentDate: true,
removeAudio: true
};
ProcessingManager.compress(source, options)
.then(data => {
console.log(data);
this.setState({ base64String: data });
})
.catch(console.warn);
}
но выдает ошибку на устройстве Android.
Любое решение этой проблемы или любой другой способ сжатия видео перед загрузкой.
Используйте rn-fetch-blob для Android, чтобы сначала преобразовать путь в URI. вы получаете временное в случае андроида и не может быть найдено в каталоге,
совместимые_бренды: isommp42 create_time: 2018-03- 01T08:47:13.000000Z com.android.версия: 7.0 Продолжительность: 00:00:04.07, начало: 0.000000, битрейт: 3366 кбит/с Поток #0:0(eng): Видео: h264 (avc1 / 0x31637661), yuv420p (тв, smpte170m/smpte170m/bt709), 640x480, 3091 кб /s, SAR 1:1 DAR 4:3, 29,88 кадров в секунду, 30 tbr, 90 000 tbn, 180 000 tbc (по умолчанию) Метаданные: rotate
: 90 : VideoHandle Боковые данные: displaymatrix: поворот на -90,00 градусов Поток #0:1(eng): Аудио:aac (mp4a/0x6134706D), 48000 Гц, стерео, fltp, 256 кбит/с (по умолчанию) Метаданные:
creation_time : 2018-03-01T08:47:13.000000Z имя_обработчика : Сопоставление SoundHandleStream: Поток #0:0-> #0:0 (h264 (собственный) -> h264 (libx264)) Нажмите [q], чтобы остановить, [? ] для справкиОшибка повторной инициализации фильтров! Не удалось ввести кадр в сеть фильтров: Недостаточно памятиОшибка при обработке декодированных данных для потока # 0: 0 Преобразование не удалось! 29772 I ReactNativeJS: 4, {высота: 640, ширина: 480} 03-01 15:40:05.757 29497 29772 W ReactNativeJS: { [Ошибка: ошибка сжатия: не удалось. ffmpeg версии 3.3.5 Copyright (c) 2000-2017 разработчики FFmpeg создали с конфигурацией gcc 4.8 (GCC): --target-os=linux --cross-prefix=/Users/kesha/Projects/ffmpeg-android/toolchain- android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/Users/kesha/Projects/ffmpeg-android/toolchain-android/sysroot - -enable-libx264 --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-yasm --disable- doc --disable-shared --enable-static --enable-nonfree --disable-network --enable-gpl --enable-ffmpeg --enable-small --disable-filters --enable-filter=copy -- enable-filter=trim --enable-filter=crop --enable-filter=scale --enable-filter=format --pkg-config=/Users/kesha/Projects/ffmpeg-android/ffmpeg-3.3-pkg-config --prefix=/Пользователи/кеша/Проекты/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/Пользователи/кеша/Проекты/ffmpeg-android/toolchain-android/include -U_FO RTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/Users/kesha/Projects/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-cxxflags= --extra-libs='-lx264 -lm' libavutil 55. 58.100 / 55. 58.100 libavcodec 57. 89.100 / 57. 89.100 libavformat 57. 71.100 / 57 71.100 libavdevice 57. 6.100 / 57. 6.100 libavfilter 6. 82.100 / 6. 82.100 libswscale 4. 6.100 / 4. 6.100 libswresample 2.7.100 / 2. 7.100 libpostproc 54. 5.100 / 100.mpov m4a,3gp,3g2,mj2, from 'file:///storage/emulated/0/DCIM/Camera/20180301_141708.mp4': Метаданные: major_brand: mp42 minor_version: 0
совместимые_бренды: isommp42 create_time: 2018-03- 01T08:47:13.000000Z com.android.версия: 7.0 Продолжительность: 00:00:04.07, начало: 0.000000, битрейт: 3366 кбит/с Поток #0:0(eng): Видео: h264 (avc1 / 0x31637661), yuv420p (тв, smpte170m/smpte170m/bt709), 640x480, 3091 кб / с, SAR 1:1 DAR 4:3, 29,88 кадров в секунду, 30 tbr, 90 000 tbn, 180 000 tbc (по умолчанию) Метаданные: rotate
: 90 create_time : 2018-03-01T08:47:13. 000000Z
handler_name : VideoHandle Боковые данные: displaymatrix: поворот на -90,00 градусов Поток #0:1(eng): Аудио:aac (mp4a / 0x6134706D), 48000 Гц, стерео, fltp, 256 кбит/с (по умолчанию) Метаданные :
create_time : 2018-03-01T08:47:13.000000Z handler_name : SoundHandleStream mapping: Stream #0:0-> #0:0 (h264 (собственный) -> h264 (libx264)) Нажмите [q], чтобы остановить , [?] для справкиОшибка повторной инициализации фильтров!Не удалось ввести кадр в сеть фильтров: Недостаточно памятиОшибка при обработке декодированных данных для потока #0:0Ошибка преобразования!]framesToPop: 1, код: 'EUNSPECIFIED' } - person David   schedule 01.07.2019