En utilisant Gstreamer pour servir de flux RTSP, exemple de travail demandé

Nous essayons d'obtenir de Gstreamer de travail sur un DM368 Leopardboard*, nous avons réussi à persuader à créer une vidéo test (videotestsrc), la coder, et la déverser dans un fichier.

La pipe qui a fonctionné, c'est:

gst-launch -v videotestsrc num-buffers=100 ! queue ! ffenc_mpeg4 bitrate=800000 ! ffmux_mp4 ! filesink location=video_test.mp4

La prochaine étape consiste à modifier le canal de flux de la testcard sur le réseau, pour être visualisés sur un PC avec VLC en utilisant quelque chose comme rtsp://adresse_ip:port/streamname mais la documentation sur la façon de faire semble assez mince sur le terrain (et souvent dépassé), et les exemples semblent flou le code source de ligne de commande et des moyens de le faire.

Je vais librement admettre que >50% du problème est notre manque de familiarité avec Gstreamer & ses diverses parties, j'ai toujours trouvé que si j'ai un exemple de travail pour commencer à partir de la je peux fourrer avec des bâtons et le reste à partir de là.

J'ai reçu ce jour:

gst-launch -v videotestsrc ! queue ! ffenc_mpeg4 bitrate=800000 ! rtpmp4vpay ! tcpserversink host=<PC_ip> port=5000

Qui semble quelque chose arriver dans VLC (à l'aide de tcp://board_ip:port)- il semble le penser il se passe quelque chose (ne jette pas une erreur), mais ne joue pas/afficher quoi que ce soit. Quand je pause (^C) la tps processus, VLC avis.

Donc, en gros - toute orientation/commentaires serait formidable, un one-liner serait fantastique.

Modifiées afin d'ajouter: Oui je vois le test_video.c exemple, mais c'est la compilation d'un programme spécial pour faire quelque chose qui ressemble, il devrait être possible de simplement appeler à partir de la ligne de commande pour prouver le concept.

* = Linux version 2.6.32-17-ridgerun /CPU: ARM926EJ-S
Il y a un c exemple qui semble le faire ici, mais n'explique pas comment il est utilisé: cgit.freedesktop.org/gstreamer/gst-rtsp-server/tree/examples/...
tps-rtsp-serveur d'essai de lancement exemple, vous pouvez spécifier l'encodage. Le code du serveur est très faible car il utilise la plupart des gstreamer est rtsp mise en œuvre.
Oui, je suis à la recherche à la tps, à l'exemple de code, mais il me semble qu'il devrait y avoir un moyen de l'invocation d'gstreamer à partir de la ligne de commande pour diffuser une vidéo, juste pour prouver que c'est possible, & de travail.
Mais ce plugin (élément) ne le serveur RTSP utiliser? Faut-il utiliser udpsink?
Pourriez-vous juste marquer une réponse comme correcte?

OriginalL'auteur John U | 2012-12-06