10-01-2016, 04:16 AM
Использую ffmpeg в качестве реэнкодера звуковых дорожек. Файлов много, все работает в автоматическом режиме (т.е. нормальная ситуация, когда очередь в 4 000 файлов и рабочих 4-5 fork-execute процессов с ffmpeg).
Проблема в том, что ffmpeg, рандомно, в тупую, виснет (без отжора CPU).
Параметры ffmpeg а-ля:
Пока справляюсь костылем, а-ля:
Но это как-то слишком.
Если взять файл, на котором был зависон и вручную, через консоль, попробовать реэнкоднуть его, то все отличное получается. Из чего можно сделать вывод, то что проблема не в битых файлах.
К сожалению, stdout ffmpeg направлен в /dev/null, по понятным причинам, поэтому я могу только догадываться, что там происходит во время зависания.
Возможно кто-то сталкивался или может быть будут дельные советы.
Проблема в том, что ffmpeg, рандомно, в тупую, виснет (без отжора CPU).
Параметры ffmpeg а-ля:
Код:
-i "input.m4a" -vn -acodec libvorbis "output.ogg"
Пока справляюсь костылем, а-ля:
Код:
if(!proc.waitFor(5, TimeUnit.MINUTES)) {
proc.destroyForcibly()
.waitFor(10, TimeUnit.SECONDS); //wait to kill
return;
}
Если взять файл, на котором был зависон и вручную, через консоль, попробовать реэнкоднуть его, то все отличное получается. Из чего можно сделать вывод, то что проблема не в битых файлах.
К сожалению, stdout ffmpeg направлен в /dev/null, по понятным причинам, поэтому я могу только догадываться, что там происходит во время зависания.
Возможно кто-то сталкивался или может быть будут дельные советы.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Гадаю по капче.