Я использую (отлично!) node-fluent-ffmpeg в качестве первого шага в конвейере обработки видео.В зависимости от исходного видео, которое я предоставляю для node-fluent-ffmpeg (видео приходят от одного и того же провайдера, что делает это поведение удивительным, но я отвлекаюсь), иногда я вижу следующую ошибку при передаче вывода на следующий процессор ffmpeg в моем конвейере:
Невозможно проанализировать значение параметра "-1" в формате пикселей
В этой проблеме. Я попытался установить inputFormat('mp4')
, videoCodec('libx264')
и .inputOption('-pix_fmt yuv420p')
.Первые два, кажется, не имеют никакого эффекта, а третье вызывает следующую ошибку: «Ошибка: ffmpeg завершен с кодом 1: опция pixel_format не найдена».(Чтобы усложнить ситуацию, я запускаю этот процесс в облачной функции Google, поэтому мне неясно, как запросить, какие pix_fmts доступны .)
Кто-нибудь знает, как я могуобойти эту проблему?
Вот моя последняя попытка в полном объеме:
const process = ffmpeg({source: stream})
.inputFormat('mp4')
.inputOption('-pix_fmt yuv420p')
.setFfmpegPath(ffmpeg_static.path)
.videoBitrate(1024)
.videoCodec('libx264')
.aspect('1:1')
.format('mp4')
.noAudio()
.seekInput(start)
.duration(duration)
.save(destination);
Мне удалось запросить ffmpeg для доступных форматов пикселей и, пока yuv420p недоступен, несколькодругие есть.Наиболее близким (текстовым) соответствием является yuv4mpegpipe, но это приводит к той же ошибке.