Все встало на свои места неожиданно: слегка разочаровавшись в
QCamera, а также обнаружив, что
ffserver больше не поддерживается с июля 2016 года,..
July 10th, 2016, ffserver program being dropped(с)ffmpeg.орг/индекс.html#ffserver
..смотрел похожие классы и через
QVideoWidget вышел на
QMediaPlayer, который,
начиная с версии Qt 5.12.2, позволяет использовать
gst-pipeline при установленном
GStreamer. Иными словами, в методе
QMediaPlayer::setMedia(QMediaContent) можно вставить строку
QUrl, содержащую обычную команду для
gstreamer:
что-то вроде этого (просто для примера):
player->setMedia(QUrl(gst-pipeline: rtspsrc location=rtsp://user:passwrd@StaticCameraIP:port/path ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! video/x-raw, width=1920, height=1080, format=BGRx ! videoconvert ! ximagesink sync=false));
Работает хорошо, однако проверял в условиях цейтнота, поэтому столкнувшись с некоторым непонятным моментом, не нашел пока: как бороться с тем, что поток открывается в совершенно новом окне, игнорируя вызванный ранее
QMediaPlayer::setVideoOutput(QVideoWidget). Возможно это потому, что у меня экземпляр
QMediaPlayer не является дочерним по отношению к
QVideoWidget. Но главное - работает!