Nano Hash - криптовалюты, майнинг, программирование

Android FFMpeg Нет такого файла или ошибки каталога

Я использую ffmpeg для Android (используя плагин Gradle «com.writingminds: FFmpegAndroid: 0.3.2») и пытаюсь обрезать видео до соотношения 16: 9 (ш: ч). Исходное видео 1080:1920 (ш:ч). Когда я выполняю команду, я получаю IOException Нет такого файла или каталога.

Команда, которую я использую:

-i /storage/emulated/0/Movies/MyApp/result_joined.mp4 -vf crop=1080:607   -preset ultrafast /storage/emulated/0/Movies/MyApp/result_cropped.mp4

Исключение:

java.io.IOException: Error running exec(). Command: 
[/data/user/0/my.package.name/files/ffmpeg, -i, /storage/emulated/0/Movies/MyApp/result_joined.mp4, -vf, crop=1080:607, -preset, ultrafast, /storage/emulated/0/Movies/MyApp/result_cropped.mp4] Working Directory: null Environment: null
Caused by: java.io.IOException: No such file or directory

После поиска нескольких вопросов о переполнении стека без помощи. Я также пытался сохранять файлы во внутреннюю память, а не во внешнюю память. Тот же результат

Любая помощь?

23.05.2016

  • Как указывает ошибка, Либо Ваш каталог не создан, либо файл там отсутствует. Вы должны убедиться еще раз. 02.06.2016
  • @lalith Спасибо за ваш ответ. На самом деле я несколько раз проверял, что каталог и файл существуют. 02.06.2016
  • Вы нашли решение? 05.11.2017

Ответы:


1

Вам нужно вызвать метод loadBinary после создания экземпляра FFmpeg.

try {
    ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
        @Override
        public void onFailure() {
          Logger.i(TAG, "ffmpeg not supported");
        }
    });
} catch (FFmpegNotSupportedException e) {
    e.printStackTrace();
}
19.09.2018

2

Я получаю такое же исключение. Я забыл загрузить библиотеку FFmpeg. сначала мы должны загрузить эту библиотеку. Запустите эту функцию перед запуском команды.

void LoadFFmpegLibrary()
{
    if(ffmpeg==null)
    {
        ffmpeg = FFmpeg.getInstance(context);
        try {
            ffmpeg.loadBinary(new LoadBinaryResponseHandler() {

                @Override
                public void onStart() {}

                @Override
                public void onFailure() {
                    Toast.makeText(context, "Failed", Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onSuccess() {
                    Toast.makeText(context, "Success", Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onFinish() {}
            });
        } catch (FFmpegNotSupportedException e) {
            e.printStackTrace();
        }
    }
}
15.07.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..