Я пытаюсь выяснить проблему с ffmpeg.У меня есть следующая установка: - Плата мини-рекордера DeckLink (для входа HDMI) - Плата мини-монитора DeckLink (для выхода HDMI)
Мне удалось получить вход HDMI с карты Decklink, и выход-для карты вывода с помощью следующей команды:
ffmpeg -f decklink -video_input hdmi -raw_format yuv422p10 -i "DeckLink Mini Recorder" -f decklink -pix_fmt uyvy422 "DeckLink Mini Monitor"
Я попытался добавить комплексный фильтр, чтобы добавить наложение изображения, с помощью следующей команды, и это работает:
ffmpeg -f decklink -video_input hdmi -raw_format yuv422p10 -i "DeckLink Mini Recorder" -i ./tools/bin/windows/2.png -y -filter_complex "[0:1][1:0]overlay=10:10" -f decklink -pix_fmt uyvy422 "DeckLink Mini Monitor"
Я получаю ленту в реальном времени с устройства записи decklink, изображение добавляется в поток и выводится на выходную карту HDMI.Кажется, все работает.
Теперь я попытался изменить путь статического изображения для использования стандартного ввода (pipe:0
), и у меня есть инструмент, который постоянно передает изображения в формате PNG на стандартный вывод:
ffmpeg -f decklink -video_input hdmi -raw_format yuv422p10 -i "DeckLink Mini Recorder" -i pipe:0 -y -filter_complex "[0:1][1:0]overlay=10:10" -f decklink -pix_fmt uyvy422 "DeckLink Mini Monitor"
Результат, который я получаю на выходной карте HDMI, является статическим изображением первого кадра.Вывод ffmpeg также теперь меняется, и, похоже, он застрял в первой секунде потока:
`` `frame = 30 fps = 7.4 q = -0.0 size = N / A time = 00: 00: 01.00 битрейт = скорость N / A = 0,247x
{кадров: 30, currentFps: 7, currentKbps: NaN, targetSize: NaN, отметка времени: '00: 00: 01.00 '} `` `
Он просто остается на 00:00:01.00
и никогда не меняется.
Я попытался найти проблему и сделал следующее:
Попытка потоковой передачи DecklinkДиктофон -> наложение статического файла png -> Монитор Decklink = IS WORKS
Попытка потоковой передачи статического файла png -> Монитор Decklink = IS WORKS
Попытка потоковой передачи: 0 (файлы PNG) -> Монитор Decklink = РАБОТАЕТ
ПопыткаПоток Decklink Recorder -> pipe: 0 (наложение файлов PNG) -> RAW AVI файл IS WORKS
Единственная проблема связана с: - Попытка выполнить потоковую передачу Decklink Recorder-> труба: 0 (файлы PNG) оверлей -> DecklinkМонитор НЕ РАБОТАЕТ
Я подозреваю, что вывод Decklink более строгий, и мой pipe:0
с изображениями PNG нестабилен, и сочетание обоих приводит к его зависанию.
Есть идеи, как это решить?:(
Спасибо!