Сжатие видео с использованием Silicompressor в Android не работает
Я пытаюсь сжать видео в проекте, поэтому с помощью silicompressor. но когда я передаю путь назначения, мое приложение зависает и ничего не делает. Но он создает папку в моем хранилище и сохраняет видеофайл, но при попытке воспроизвести его выдает ошибку "Не удалось воспроизвести видео". И этот файл имеет размер 24 байта. так что посмотрите и расскажите, что я сделал не так.
Вот мой код
File destinationPath = new File("/storage/emulated/0/DCIM/Camera/myvideo");
destinationPath.mkdir();
File file = new File(destinationPath.getAbsolutePath());
Toast.makeText(Post.this, "folder: " + file, Toast.LENGTH_SHORT).show();
try {
filePath = SiliCompressor.with(Post.this).compressVideo(videouri, file.toString());
video.setVideoURI(Uri.parse(filePath));
Toast.makeText(Post.this, "Completed", Toast.LENGTH_SHORT).show();
} catch (URISyntaxException e) {
Log.d("EXCEPTION", e.toString());
Toast.makeText(Post.this, e.getMessage(), Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
1 ответ
Попробуйте запустить код сжатия, используя AsyncTask
Здесь вы можете найти демо-код приложения для сжатия видео.
Я попробовал этот SiliCompressor для видеокомпрессора, и это очень хорошо, и в этой версии аудио и видео работают хорошо, но не поддерживают разрешение.
https://github.com/Tourenathan-G5organisation/SiliCompressor/tree/v2.2.2
Примечание: в последней версии (2.2.3) SiliCompressor звук не работает после сжатия видео.
ИЛИ
Я сделал это и хорошо работаю https://github.com/iamkdblue/CompressVideo
Надеюсь, это вам поможет.