Скрипт ffmpeg работает только первым в списке?

Вы не можете удалить большинство файлов из / proc или / sys . Это интерфейсы к ядру, а не вещи, хранящиеся на диске, и большинство интерфейсов ядра - это то, что ядро ​​хочет предоставить, и на них не может влиять пользовательская среда.

Помните, что возможны исключения - это необычно, но драйвер может присвоить смысл удалению файла из файловой системы ядра. Это печально известный случай evivarfs , который обычно монтируется в / sys / firmware / efi / efivars в системах с UEFI. Удаление файлов может привести к поломке вашего компьютера, удалив его загрузочную конфигурацию. И systemd использовал его для монтирования чтения-записи

Чтобы восстановить сами файловые системы в ядре, вы просто перемонтируете их. Фактически, rm -rf / proc / sys не удалил бы их, потому что большинство этих файлов просто невозможно удалить, а точки монтирования не могут быть удалены, пока что-то смонтировано на них. Но если вы каким-то образом оказались в состоянии, когда / proc и / sys больше не существуют, вы можете воссоздать каталоги и смонтировать их.

mkdir /proc /sys
mount -t proc proc /proc
mount -t sys sysfs /sys

Конечно, вам понадобится корневая оболочка. Вы все еще можете войти в систему как root без / proc и / sys , но, вероятно, не без / dev .

Что касается / dev , обычно он заполняется udev.Вы можете приказать udev заново заполнить его.

mkdir /dev
mount -t devtmpfs -o mode=0755 udev /dev
mount -t devpts devpts /dev/pts
udevadm trigger

1
11.08.2017, 18:28
1 ответ

Судя по всему, ffmpegсчитывается из стандартного ввода, что мешает команде read. Так что я направляюсь к/dev/null

ls video/hq | cut -d. -f1 | while read line ; do
  HQ=./video/hq/$line.mp4
  LQ=./video/lq/$line.mp4
  ffmpeg -i $HQ -crf 40 $LQ < /dev/null
done;
2
27.01.2020, 23:33

Теги

Похожие вопросы