ffmpeg 프로세스 우선순위를 변경하는 방법은 무엇입니까?

ffmpeg 프로세스 우선순위를 변경하는 방법은 무엇입니까?

ffmpeg 프로세스 우선순위를 설정하는 방법을 찾으려고 합니다. 서버는 수신 비디오를 다른 해상도로 변환하며, 새 비디오는 기존 프로세스보다 우선순위가 더 높고 더 빠르게 변환되어야 합니다.

이는 SJF(Shortest Job First) 또는 LIFO(Last In First Out) 알고리즘과 유사하게 작동해야 합니다.

ffmpeg로 할 수 있는 방법이 있나요?

나는 다음과 같은 프로세스를 생성합니다. ffmpeg -i "${video_path}" -strict experimental -movflags faststart -vf "${resolution}" "${output_path}" >> "${ffmpeg_log}" 2>&1

메모:

이미 기반 솔루션을 테스트했습니다 nice. 작동하지 않는 것 같습니다. 우선순위가 10과 -10인 2개의 ffmpeg 프로세스를 생성했고, 이전에 생성된 프로세스가 더 일찍 완료되었습니다.

답변1

당신은 단순히 전화niceniceness 값과 함께 프로세스를 호출하기 전에.

의 매뉴얼 페이지에서는 nice프로세스가 얼마나 '좋은'지 정확히 파악하는 방법을 보여줍니다. 즉, 낮은 값 == 덜 좋고 우선순위가 높습니다.

nice --5 "ffmpeg -i...."-5의 좋은 값으로 ffmpeg를 시작하여 -1의 좋은 값을 가진 것보다 우선순위가 높습니다.

일반적으로 0이 기본값이며, 이보다 높은 값은 기본 우선순위보다 낮다는 의미입니다.

관련 정보