
У меня есть куча непоследовательно пронумерованных jpeg (они идут по порядку, но в последовательности есть пробелы), которые я хочу преобразовать в фильм. Когда я пытаюсь использовать convert
, ffmpeg
или avconv
, он создает большое количество временных файлов, в конечном итоге заполняя мой каталог tmp и превращая мою машину i7 с 16 гигабайтами оперативной памяти в неотзывчивую кучу.
Есть ли способ сделать это, не используя всю память и не заполняя диск?
решение1
Один простой трюк, который можно попробовать, — это использовать nice
команду для снижения приоритета планировщика процесса, выполняющего преобразование.
Например
nice avconv <arguments>
Это может сделать или не сделать столько, сколько вы хотите, потому что отзывчивость системы может быть гораздо больше связана с активностью ввода/вывода (I/O), чем с чем-либо еще. Но это стоит того для первой попытки.
Другое, что вы можете сделать, — это попытаться ограничить количество одновременных потоков на преобразователе, чтобы некоторые ядра вашего ЦП могли оставаться бездействующими.
avconv <arguments> -threads 1
Обратите внимание, что если вы эффективно сократите время ЦП, выделяемое на процесс преобразования, его завершение займет больше времени.