2017-03-23 2 views
0

Ma configuration ressemble à ceci:GStreamer inférieure framerate après l'interruption du flux de données

  1. Une caméra Ethernet connecté à un noeud de liaison sans fil.
  2. La caméra envoie un flux codé H264 (320 * 184 à 25 FPS) en utilisant UDP.
  3. Un autre nœud de liaison sans fil connecté à un ordinateur portable (Windows 7).
  4. L'ordinateur portable exécute gstreamer.
  5. Les paquets UDP reçus sont utilisés pour afficher la vidéo sans latence.

La commande gstreamer pour afficher les données vidéo:
gst-launch-1.0 Protocoles de rtspsrc = 0x00000001 location = rtsp: //10.0.0.3: 554/stream1 latence = 0 drop_on_latency = true! décodebin! videoscale! video/x-raw, width = 1280, height = 800! autovideosink

Voici la question:

  1. I interrompre le flux de données en retirant le câble Ethernet entre la caméra et le premier noeud de liaison sans fil pendant 5 secondes puis rebranchez le câble. Résultat: l'affichage du flux vidéo s'arrête puis se rétablit. J'interromps le flux de données pendant 15 secondes. Résultat: l'affichage du flux vidéo récupère mais un très faible framerate; Environ 1 image par seconde. Si je redémarre ensuite gstreamer, le flux vidéo est à nouveau bien présenté.

Comment puis-je surmonter cette réduction du framerate? Redémarrer automatiquement gstreamer si cette situation est détectée serait une option pour moi.

Cordialement, doojoo

+0

Pourriez-vous essayer de définir la propriété synchronisation du puits false? 'autovideosink sync = false' –

+0

Lors de la définition de sync à false, l'affichage du flux récupère bien! – Doojoo

Répondre

0

Lors du réglage de synchronisation sur false, comme suggéré par Alper, l'affichage du flux récupère bien!
Ce qui se passe maintenant est la suivante:

  1. Lorsque l'arrêt flux de données GStreamer continuera à afficher la dernière image.
  2. Lorsque le flux de données redémarre, gstreamer s'arrête et mon script redémarre gstreamer. Ensuite, il présentera la vidéo au bon framerate.

Est-il possible d'arrêter gstreamer lorsque le flux s'arrête au lieu de s'arrêter lorsque le flux recommence?

Cordialement, doojoo