À l’aide de la Nex Gen Media Server (NGMS) API pour Intégrer de la Vidéo en Streaming Dans Votre Propre C / C ++ App

[Contactez-nous au 06.16.19.45.84]

Total distance 0 km
Total time 0 h 0 m
Choose a vehicle

    Extra options

    • Child Seat $5.00 Baby car seat for children aged 0-36 months
    • Bouquet of Flowers $75.00 A bouquet of seasonal flowers prepared by a local florist
    • Vodka Bottle $39.00 Absolut Vodka 0.7l Bottle
    • French Champagne $110.70 French Champagne Brut 0.75l Bottle
    • Alcohol Package $145.90 1 x 0.7l Jack Daniel's Whiskey, 2 x 0.7l Vodka, 2 x 0.75l Sparkling Wine, 2l Orange Juice, 2l Coca-Cola, 2l Sprite, Ice, Glasses, Cups
    • Airport Assistance and Hostess Service $170.00 One of our hostesses will accompany you throughout your stay at the airport until the departure of your aircraft
    • Bodyguard Service $750.00 Skilled, professional bodyguard for private and executive VIP protection will accompany you throughout the trip and stops
    Choose ride details Enter contact details

    Choose payment method

    Choose a vehicle Booking summary
    Enter contact details Book now

    Thank you for your order

    Back to home

    You will be redirected to the payment page within 5 second.

    Pay via Stripe

    Pay for order


    Introduction

    Récemment, j’ai pris un peu plus près Nex Gen Media Server (NGMS) et de leur cadre de l’API. NGMS est un multi-usage en streaming server qui prend en charge les protocoles de streaming tels que RTSP, RTMP, Apple's le HTTP Live, et MPEG-2 Transport Stream. NGMS vient avec le transcodage de soutien et est capable de capturer et de les reformater flux vidéo en direct et de les adapter pour être reçu par un autre type d’appareil, telles que la capture d’un flux vidéo HD et le convertir à être reçu par un iPhone 3g. Mon objectif était d’intégrer les NGMS API pour contrôler les fonctionnalités de diffusion directement à partir de ma propre C de l’application. Dans cet exemple j’utilise Linux Ubuntu 10.04.

    La première chose à faire est de télécharger et de lire le NGMS Guide de l’Utilisateur et de l’API guide de référence pour Nex Gen Media Server. (Ces liens sont situés au bas de l’article), Il existe de nombreuses options de configuration de là, mais nous allons nous en tenir à l’essentiel. Ensuite, vous devez télécharger le NGMS paquet pour linux. La version que j’ai utilisé était NGMS v1.3.4. Une fois que vous télécharger le package, il suffit de décompresser le contenu dans un répertoire de votre choix. J’ai utilisé ~ / ngmsStreaming

    La configuration de l’application.

    Pour intégrer NGMS directement dans mon application C j’ai dû inclure « ngms / include / ngmslib.h » dans mon code.

    Lors de la construction de ma demande j’ai dû inclure les bibliothèques ngms / lib / libngms.donc, et ngms / lib / libxcode.donc. Il semble que libngms.donc, dépend également de la libcrypto.alors, qui doit être spécifié dans les options du linker.

    Voici le simple makefile que j’ai'm à l’aide de:

    #Exemple De Makefile

    CC = gcc
    CFLAGS = -ggdb
    COMPREND + = -I ngms / include
    LDFLAGS + = -L ngms / lib -lngms -xlcode -crypto

    tous: myapp

    % .o:% .c
    $ (CC) $ (CFLAGS) $ (INCLUT) -o $ @ -c $ <

    myapp: myapp.o
    $ (CC) -fpic-o myapp myapp.o $ (LDFLAGS)

    Ici est la source de myapp.c.

    / **
    *
    * Exemple d’application myapp
    *
    * /

    typedef unsigned int uint32_t;
    typedef unsigned long long un uint64_t;
    #include
    #include « ngmslib.h »

    int main (int argc, char * argv []) {
    NGMSLIB_STREAM_PARAMS_T ngmsConfig;
    NGMS_RC_T code_retour;

    code_retour = ngmslib_open (& ngmsConfig);
    si (NGMS_RC_OK! = code_retour) {
    fprintf (stderr, « ngmslib_open failed n »);
    return -1;
    }

    ngmsConfig.entrées [0] = « mediaTestFile.mp4 »;
    ngmsConfig.output = « rtp: //127.0.0.1: 5004 »;

    code_retour = ngmslib_stream (& ngmsConfig);
    si (NGMS_RC_OK! = code_retour) {
    fprintf (stderr, « ngmslib_open failed n »);
    }

    ngmslib_close (& ngmsConfig);

    return 0;
    }

    Le code ci-dessus utilise le NGMSLIB_STREAM_PARAMS_T struct type de contrôle de l’ngms de la bibliothèque. La première chose qui doit être fait est un appel à ngmslib_open de « preset » de la struct. Après cela, vous pouvez remplir l’une des options dans la structure de contrôle de ce NGMS fera. Ensuite, vous pouvez « ngmslib_stream » pour créer la vidéo de sortie.

    J’ai'm est en mesure d’ouvrir le flux dans VLC player et lire la vidéo.

    Le Lecteur VLC -> Ouvrir le Réseau rtp: // @: 5004

    Alto! C’était facile !!! Je peux maintenant diffuser un fichier multimédia directement à partir de mon application!

    Depuis le ngmslib_stream appel de fonction est une opération de blocage, d’interrompre le flux, je peux appeler ngmslib_close à partir d’un autre thread et le ngmslib_stream appel de la sortie.

    J’ai été en mesure d’ajouter le support d’un lecteur Flash intégré en ajoutant les lignes de code suivantes.

    ngmsConfig.rtmplive = « 1935 »;
    ngmsConfig.live = « 8080 »;

    Avec mon navigateur me connecter à localhost: 8080 / live et je retourne une page avec flash player lecture de la vidéo.

    Au lieu de jouer un fichier que je peux changer l’entrée à un flux vidéo en direct. Je peux créer deux instances séparées de ma demande. Une instance de sortie de la vidéo à port 5006. L’autre instance de capture de la vidéo sur le port 5006, et la sortie du port 5004. C’est tout ce que vous avez à faire.

    //ngmsConfig.entrées(0]= « mediaTestFile.mp4 »;
    ngmsConfig.entrées [0] = « rtp: //127.0.0.1: 5006 »;
    ngmsConfig.strfilters [0] = « type = m2t »;

    Conclusion

    Ces quelques exemples montrent son assez facile d’ajouter de la vidéo en streaming de la prise en charge de votre propre application. J’ai've utilisé C ici. Si votre application est en C ++, vous pouvez envelopper tous les appels à ngmslib à l’aide de la « extern » C »,  » mot-clé. Vous pouvez également le faire en Java, mais il serait nécessaire de construire une interface JNI pour envelopper chacun des appels vers le bas pour NGMS.

    C’était un exemple assez simple. Dans un avenir proche, je vais aller sur la façon dont le NGMS bibliothèque peut être utilisé pour construire votre propre vidéo en streaming client.