LINUX.ORG.RU

cairooverlay тормозит на orange 5 plus

 


0

1

Потребовалось наложить текст и графику поверх воспроизводящегося видео (1920x1080 60fps) через gstreamer в моей программе на GTK3. При попытке воспользоваться cairooverlay, fps падает до нескольких кадров в секунду. Мне в принципе не особо важно добавить текст с графикой именно в поток, можно и сверху наложить, но в GTK с штатным overlay-ем и Cairo не получается, видео картинка сразу затирает мои надписи. Смотрел в сторону OpenCV но он с Си, как понимаю не особо дружит, а я не особо дружу с плюсами, ещё как вариант opengl, но пока не разбирался. Опыта с linux-ом пока не много, может подтолкнёте в правильном направлении, каким способом проще решить эту задачу под GTK3 на Си?



Последнее исправление: djl1 (всего исправлений: 2)
Ответ на: комментарий от Merionet

Переделал на вывод картинки через OpenCV, без каких либо обработок. Результат тот же. Сейчас поставил в конвейер два videoconvert-а с caps фильтром. В общем дело в преобразовании в BGR, из-за него походу тормозит, cairooverlay тоже на BGR работает. 60к/сек gst-launch-1.0 udpsrc port=5600 caps=‘application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265’ ! rtph265depay ! h265parse ! mppvideodec ! videoconvert ! fpsdisplaysink video-sink=xvimagesink text-overlay=true sync=false

6к/сек gst-launch-1.0 udpsrc port=5600 caps=‘application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H265’ ! rtph265depay ! h265parse ! mppvideodec ! videoconvert ! video/x-raw, format=BGR ! videoconvert ! fpsdisplaysink video-sink=xvimagesink text-overlay=true sync=false

djl1
() автор топика