Если можно все еще получить доступ к консоли текстового режима, или если можно войти в систему удаленно:
ps
или другие инструменты для размещения объявлений процесса и уничтожают, чтобы попытаться уничтожить некоторые процессы. Несколько программ сохранят Вашу работу (по крайней мере, в файл восстановления), если они получат a kill -HUP
или плоскость kill
. У них не могло бы быть времени, чтобы сделать это, если Вы идете прямо для перезагрузки.sudo kill
сопровождаемый идентификатором процесса для уничтожения процесса это работает как корень или некоторый другой пользователь, который не является Вами.reboot
к перезагрузке (например. sudo reboot
если Вы используете sudo
получить административный доступ). Выполненный halt
выключать компьютер. Оба из них звонят shutdown
с подходящими вариантами.Если абсолютно все полито из шланга, но у Вас есть консольный доступ, можно использовать волшебный SysRq, чтобы, по крайней мере, сбросить все изменения файла в дисковых файловых системах размонтирования чисто.Пресса
(Примечание: Вы будете иногда видеть “REISUB”, но R и я ступаем, бесполезны.)
Вы могли использовать команду как это для конкатенации списка файлов любым путем, Вы хотите:
ffmpeg -f concat -i <( for f in *.wav; do echo "file '$(pwd)/$f'"; done ) \
output.wav
Вышеупомянутое может только работать, если файлы, которые Вы связываете, являются всеми одинаковыми кодеки. Таким образом, они должны были бы все быть .wav или .mpg, например.
Примечание: У Вас должен быть ffmpeg v1.1 или выше использовать concat demuxer, можно читать больше о вышеупомянутом примере и также как связать различные кодеки с помощью этой техники на ffmpeg веб-сайте.
Ffmpeg может также взять вход с помощью printf средств форматирования такой как %d
. Это соответствует цифрам, запускающимся в 0 и повышающимся оттуда в порядке. Если бы числа были структурированы как это, 000 - 099, то Вы могли бы использовать это средство форматирования, %03d
, что означает серию 3 цифр, дополненный нуль.
Таким образом, Вы могли сделать что-то вроде этого:
ffmpeg -r 25 -i %d.png -qscale 3 -s 1920x1080 -c:v wmv1 video.wmv
Вышеупомянутое не вполне работало на меня, ffmpeg
жаловался на опцию -c:v
. Я просто опустил ту опцию, и эта версия команды работала как ожидалось.
ffmpeg -r 25 -i %d.png -qscale 3 -s 1920x1080 video.wmv
Лучший способ состоит в том, чтобы переименовать файл так, чтобы у них всех было то же количество цифр. С zsh (4
максимальное количество цифр):
autoload zmv # put this in your ~/.zshrc
zmv '(<->).jpg' '${(l:4::0:)1}.jpg'
С другими оболочками (продолжаются и добавляют 0
по мере необходимости, если существуют имена файлов больше чем с 4 цифрами):
for x in [0-9].jpg; do mv "$x" "000$x"; done
for x in [0-9][0-9].jpg; do mv "$x" "00$x"; done
for x in [0-9][0-9][0-9].jpg; do mv "$x" "0$x"; done
Если Вы не можете переименовать файлы, другая опция состоит в том, чтобы создать символьные ссылки в некотором другом каталоге. С zsh:
zmv -Ls '$PWD/(<->).jpg' '/somewhere/writable/${(l:4::0:)1}.jpg'
С любой оболочкой:
for x in [0-9].jpg; do ln -s "$PWD/$x" "/somewhere/writable/000$x"; done
for x in [0-9][0-9].jpg; do ln -s "$PWD/$x" "/somewhere/writable/00$x"; done
for x in [0-9][0-9][0-9].jpg; do ln -s "$PWD/$x" "/somewhere/writable/0$x"; done
Альтернативный подход должен дать последовательные числа символьных ссылок. Этот подход делает вывод к другим ситуациям, где порядок исходных файлов не является правильным, пока Вы создаете символьные ссылки в желаемом порядке. Запуск счетчика в 10 000 и удаление продвижения 1
удобный способ получить счетчик с продвижением, обнуляет.
i=10000
for x in [0-9].jpg [0-9][0-9].jpg [0-9][0-9][0-9].jpg; do
ln -s "$PWD/$x" /somewhere/writable/${i#1}.jpg
i=$((i+1))
done
Если Вы действительно не хотите делать какие-либо записи, можно передать последовательный -i
опции с увеличением длин имени файла.
ffmpeg -pattern_type glob -i '[0-9].jpg' -i '[1-9][0-9].jpg' -i '[1-9][0-9][0-9].jpg' -i '[1-9][0-9][0-9][0-9].jpg' …
Самый простой путь состоял бы в том, чтобы переименовать короткое имя файла, чтобы иметь начальные нули, с помощью rename
инструмент. Однако существует два стандарта, переименовывают инструменты там - тот, который я описываю, описан как из Справочника Программистов Perl в странице справочника. Это - версия на Debian и полученных дистрибутивах.
rename 's/^/000/' [0-9].jpg
rename 's/^/00/' [0-9][0-9].jpg
rename 's/^/0/' [0-9][0-9][0-9].jpg
Имена файлов должны затем сопоставить правильно шарики использования.
Однако, если Вы не хотите переименовывать файлы, Вы не можете использовать шарики, как расширение в лексикографическом порядке, не числовом.
Так, не используйте шарики. Избавьтесь от -pattern_type glob
и используйте -i %d.jpg
вместо -i *.jpg
. Это использует числовой шаблон, и в моем быстром тестировании делает то, что Вы хотите.
[concat @ 0xac21ce0] Line 1: unknown keyword '0.jpg' /dev/fd/63: Invalid data found when processing input
какие-либо идеи, к почему? – Torxed 25.05.2013, 02:45/dev/fd/63: Invalid data found when processing input
При решении этого Вы поймете мысли, потому что я боюсь переименования файлов этой величины, имел неудачные опыты прежде. – Torxed 25.05.2013, 02:50