Я пытаюсь сделать зацикленное видео на планшете Android, на котором в chroot установлена Ubuntu 15.04. Есть ffmpeg и доступны все инструменты Linux.
Проблема в том, что у меня очень ограниченное пространство, и ffmpeg использует временные файлы для перекодирования видео, что потребляет дополнительное пространство. На самом деле мне не нужно перекодирование, только сжатие и конкатенация. Например, приведенная ниже команда объединяет два файла и обязательно сохраняет оригинальные

ffmpeg -f concat -i /tmp/join.txt -c copy out.mov

Следующий фрагмент вырезать и оставить оригинал input.mov video

ffmpeg -ss 00 -i input.mov -t 90 -c:v copy -c:a copy out.mov

Действительно ли возможно выполнить такое редактирование, не сохраняя оригинальные файлы? Например, при редактировании одновременно удаляйте готовые детали, чтобы сохранить пространство.

UPD. Согласно приведенным ниже ответам и моим поискам это невозможно. Спасибо за участие.

1 ответ1

0

Чтобы удалить ненужные исходные файлы после каждой успешной операции FFmpeg, вы можете добавить код сценария в конец ваших команд FFmpeg с двойным амперсандом. Таким образом, источник не будет удален, если FFmpeg по какой-либо причине выдаст ошибку, но вы все равно должны быть осторожны... Нет ничего хуже, чем стереть ваш источник перед тем, как вы обнаружите, что при создании клипа вы указали неправильный интервал поиска или продолжительность.

Примеры

Это приведет к удалению исходных видео, перечисленных в вашем файле "join.txt" после того, как вы создадите объединенное видео:

ffmpeg -f concat -i /tmp/join.txt -c copy out.mov && \
for DELVIDS in `awk '{print $2}' /tmp/join.txt`; do rm -f $DELVIDS; done

Это приведет к удалению файла input.mov после создания 90-секундного клипа:

ffmpeg -ss 00 -i input.mov -t 90 -c:v copy -c:a copy out.mov && rm -f input.mov

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .