#ffmpeg
Вопрос:
Я использую следующий код для обрезки до определенного времени и отображения его в формате gif с использованием субтитров, встроенных в файл mkv.
ffmpeg -y -ss 4831.368208333333 -t 7 -itsoffset 4831.368208333333 -i input.mkv -vf "subtitles=input.mkv, fps=24,scale=500:-1: flags=lanczos,split[s0][s1]; [s0]palettegen=max_colors=255:reserve_transparent=0[p]; [s1][p]paletteuse" output.gif
Файл отображается по назначению, однако перед фактическим отображением он зависает более чем на несколько минут.:
[Parsed_subtitles_0 @ 0x5c850c0] libass API version: 0x1502000 [Parsed_subtitles_0 @ 0x5c850c0] libass source: commit: 0.15.2-24-gac2ddef8841aa2ff37ca9b83f19f15092d0cacc6 [Parsed_subtitles_0 @ 0x5c850c0] Shaper: FriBidi 1.0.10 (SIMPLE) HarfBuzz-ng 2.8.0 (COMPLEX) [Parsed_subtitles_0 @ 0x5c850c0] Using font provider fontconfig
Я возился с удалением флагов, отображая их как mkv, mp4 и все остальное. Я уверен, что причина, по которой программа зависает перед рендерингом, — это субтитры. В настоящее время я запускаю этот код на сервере ec2, но я протестировал его на своей машине с Windows и на raspberry pi и получил те же результаты.
Комментарии:
1. Что делать, если вы сначала обрезаете видео, а затем добавляете субтитры, используя обрезанное видео в качестве входных данных?