diff --git a/src/main/kotlin/pw/binom/mirror/worker/convert/FfmpegService.kt b/src/main/kotlin/pw/binom/mirror/worker/convert/FfmpegService.kt index 991bbf4..535f412 100644 --- a/src/main/kotlin/pw/binom/mirror/worker/convert/FfmpegService.kt +++ b/src/main/kotlin/pw/binom/mirror/worker/convert/FfmpegService.kt @@ -82,7 +82,9 @@ class FfmpegService( } if (width != null || height != null) { args += "-vf" - args += "scale=${width ?: "-1"}:${height ?: "-1"}" + // Высота прибита (480), ширина — по пропорциям; pad доводит кадр до кратности 16 + // (H.264 макроблоки 16x16): чёрные поля по краям, картинка не искажается. + args += "scale=${width ?: "-1"}:${height ?: "-1"},pad=ceil(iw/16)*16:ceil(ih/16)*16:(ow-iw)/2:(oh-ih)/2" } if (!removeAudio) { if (audioCodec != null) {