2017-02-24 3 views
0

Selon la documentation Kurento: http://doc-kurento.readthedocs.io/en/stable/mastering/kurento_API.htmlce qui est exactement l'utilisation du filtre GStreamer dans Kurento Media Server

GstreamerFilter est une interface de filtre générique qui permet filtre à utiliser GStreamer dans Kurento Pipelines Media.

je tentais de trouver filtres Gstreamer sur google, tout ce que je trouve était Gstreamer plugins. (https://gstreamer.freedesktop.org/documentation/plugin-development/advanced/

Est-ce que cela veut dire, je peux utiliser le filtre Kurento Gstreamer, d'ajouter des plugins tels que rtph264depay et rtmpsink avec elle?

par exemple

WebRTC endpoint > RTP Endpoint > (rtph264depay) Gstreamer filter (rtmpsink) > RTMP server. 

Tous sans installer Gstreamer séparément?

Répondre

0

GstreamerFilter vous permet de configurer un filtre à l'aide d'un filtre GStreamer natif (de la même manière que lorsque vous utilisez gst-launch-1.0). ple, le filtre Kurento suivant permet de tourner horizontalement votre support au sein KMS:

GStreamerFilter filter = new GStreamerFilter.Builder(pipeline, "videoflip method=horizontal-flip").build(); 

dit, et en ce qui concerne votre question, pour le meilleur de ma connaissance, je pense, vous pouvez utiliser GstreamerFilter utiliser rtph264depay et rtmpsink .

+0

Excellent, merci d'avoir précisé cela. – user3172852

+0

Bonjour Boni, y at-il une documentation de toutes ces fonctionnalités fournies par GStreamFilter? Comme je travaille à essayer de trouver le nombre de visages. –

+0

En fait, il n'y a pas beaucoup de documentation à ce sujet, désolé. Pour autant que je sache, actuellement il n'y a que le [JavaDoc] (https://doc-kurento.readthedocs.io/en/latest/_static/langdoc/javadoc/index.html) et [JsDoc] (https: //doc-kurento.readthedocs.io/en/latest/_static/langdoc/jsdoc/kurento-client-js/node_modules_kurento-client-filters_lib_GStreamerFilter.js.html) de GStreamerFilter. –

1

Le code de Boni Garcia est exact. Mais si vous remplacez "videoflip method = horizontal-flip" par "rtmpsink location = rtmp: //deque.me/live/test01", vous obtiendrez un message d'erreur: "La commande fournie n'est pas valide, les templates de pad ne correspond pas".

Vous pouvez aller plus loin pour vérifier kms filtre code source à partir https://github.com/Kurento/kms-filters, en km-filtres/src/serveur/mise en œuvre/objets/GStreamerFilterImpl.cpp il y a une ligne:

 99  throw KurentoException (MARSHALL_ERROR, 
    100        "Given command is not valid, pad templates does not match"); 

Je crains que vous pouvez N'utilisez pas GstreamerFilter pour envoyer des données au serveur rtmp, vous devriez peut-être modifier un peu le code source.