2017-03-20 4 views
0

Je suis nouveau à Gstreamer et j'ai un problème en changeant la résolution d'un flux vidéo avant de l'afficher. Sur un ordinateur, sous Windows 7, je reçois un flux RTP/RTSP avec une résolution de 320x184. Je peux afficher le flux en utilisant la commande:gstreamer rtsp résolution de flux de chance

gst-launch-1.0 rtspsrc emplacement = rtsp: //10.0.0.3: 554/stream1 latency = 0! décodebin! autovideosink

Une petite fenêtre est présentée montrant le flux vidéo, sans latence.
C'est presque ce que je veux atteindre. Je veux seulement afficher ce flux à une résolution de 1280 x 800, sans bordure de fenêtre. Je ne sais pas comment étendre le pipeline Gstreamer pour y parvenir. Est-ce que certains d'entre vous peuvent m'aider ici?

Merci!

Répondre

0

Vous ne pouvez pas le faire à partir de la ligne de commande. Vous avez besoin d'écrire une véritable application graphique à cette fin. Vous devrez alors interagir avec votre pipeline GStreamer avec votre interface graphique. Pour être plus précis, vous devrez indiquer au moteur de rendu du pipeline où dessiner la vidéo. Pour cela, vous aurez besoin de l'interface GstVideoOverlay.

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideooverlay.html

Il existe également des exemples sur la façon de l'utiliser:

https://github.com/GStreamer/gst-plugins-base/tree/master/tests/examples/overlay

0

je trouve une réponse à ma question: l'ajout videoscale a fait l'affaire.
La commande complète ressemble maintenant à ceci:

gst-launch-1.0 rtspsrc location = rtsp: //10.0.0.3: 554/latence de stream1 = 0! décodebin! videoscale! video/x-raw, width = 1280, height = 800! autovideosink

Merci pour l'entrée

+0

A propos: Cette solution fonctionne toujours avec la frontière! Comme j'utilise GStreamer dans une démo, je considère toujours écrire du code spécifique ou garder la frontière pour cette démo. – Doojoo

+0

Cela fonctionne en effet pour la taille de la vidéo. Pour une démo, ça devrait être plus que correct. Gardez à l'esprit que vous effectuez une mise à l'échelle vidéo dans un logiciel qui peut être plus onéreux que la résolution d'origine, mais la mise à l'échelle de la fenêtre, auquel cas le GPU effectuera la mise à l'échelle. –