module inscription newsletter haut de page forum mobile

Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

Récupérer et rediriger flux RTMP

Discussion dans 'Techniques broadcast' créé par Hajiraka, 26 Avril 2021.

  1. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Bonsoir, J'ai actuellement une chaîne Twitch, nous somme un groupe de 7 et je voudrai comment pouvoir récupérer les flux de mes amis et de rediriger/choisir qui stream sans que le live ne se coupe pas pour faire en sorte que le stream soit en continue
     
  2. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    tu peux utiliser un software comme OBS Studio qui permet de recevoir plusieures sources video et de selectionner une .
    Pour recevoir un stream , il faut d'abord pouvoir l'emettre, donc il te faut une application qui envoie du RTMP.
    Sur smartphone tu en trouves plusieures comme Larix Broadcaster.
    ensuite il faut pouvoir les recevoir et pour ca il faut un serveur RTMP.
    Il existe Nginx (qui est un serveur web a la base) qui a un module RTMP.
    ca tourne aussi bien sur un PC que sur un raspberry Pi.
    Le probleme c'est que si tu as 7 streams en entree, il te faut une connexion capable de supporter la bande passante de 7 connexion en entre + une connexion en sortie.
    Rien de bien extraordinaire de nos jours mais 8x 5 Mbps=40Mbps stable au moins.

    j'ai donne des infos a ce sujet dans un sujet sur ce forum
    mon projet de sac à dos de live streaming | Page 3 | Astuces, bidouilles et bricolages

    si tu n'as pas d'addresse IP fixe, ou de nom de domaine pointant sur ta connexion, tu devras donner ton adresse IP a tes camarades.
    tu peux la connaitre avec What Is My IP Address - See Your Public Address - IPv4 & IPv6

    ensuite chaque participant devra configurer son application RTMP avec l'adresse
    RTMP://myipadress/Live/key
    myipadress sera egal a ton adress IP (93.45.120.67 par exemple)
    Live est le nom de l'application configuree dans la config de Nginx (ca peut-etre n'importe quoi d'autre comme ZZZ par exemple)
    et key est le nom du stream. Pour chaque participant, il faut un nom(clef) different comme, Nicolas, Kevin, SREAM1 etc...

    une fois que les participants sont connectes, tu peux ouvrir chaque stream dans OBS Studio ,
    et tu recevras chaque video.
    Suffit ensuite de configurer OBS pour que ca sorte sur TWITCH et de selectionner la video qui te convient.

    une autre methode serait d'utiliser ZOOM ou Google DUO par exemple, en mode multi participants.
    Ca te donne un ecran avec tout le monde dessus (en mode Gallery)
    Dans OBS tu peux creer une source video qui correspond a la surface de l'ecran ou se trouve la vignette de chaque video.
    Evidemment, il faut un ecran dedie a zoom.
    [​IMG]

    une troisieme solution serait de payer pour un service de restream qui permet parfois de selectionner une source parmis plusieures, bien qu'en general elles soient prevues pour le contraire (streamer une source vers plusieures destinations) . A noter que ces solutions sont just la version payante de la premiere.
     
    #2 giroudf, 26 Avril 2021
    Dernière édition: 26 Avril 2021
    • Merci Merci x 1
  3. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Merci beaucoup pour tout ça je vais voir de mon coté
     
  4. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    par rapport aux services de restream pouvez citer plusieurs de ces services ? merci
     
  5. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    tu tapes restream sur google et tu en trouveras plein.
    le probleme est de trouver celui qui te permettra de selectionner un stream parmis plusieurs.
    il me semble que LiveU le fait. .
    Teradek surement aussi vu qu'il font la meme chose (des boitiers que tu branches sur ta camera et qui streament vers leurs services).
    Apres mon but c'est surtout d'eviter ce genre de services que tu paies au prix fort pour des choses qui sont quasi gratuites si tu le fais par toi-meme, donc je suis pas forcement de bon conseil sur ce coup.
     
  6. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Alors, j'ai pu installer Nginx et j'aimerai pouvoir stream sur mon serveur mais à partir d'une autre connexion par exemple :le serveur est chez mon ami et j'aimerai stream depuis chez moi comment on peut faire ? ceci est la 1ère question, la 2ème si on devait stream tout les 2 en même temps mon ami et moi comment ajouter une clé de stream pour mon pote et un clé de stream différentes pour moi ?
     
  7. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    avec Nginx, tu streams autant que tu veux, puisque c'est la clef qui determine le stream.
    Nginx ne cree rien, il fait que recevoir. Faut juste t'assurer que tu utilises pas plus de bande passante que tu en dispose.
    donc si tu a par exemple un larix broadcaster installe sur 6 telephones, tu configures chaque telephone avec une clef differente (stream1, stream2...stream6) et Nginx va recevoir 6 streams differents.
    ensuite tu peux les recuperer sur OBS Studio en ouvrant 6 sources differentes en specifiant chaque fois l'addresse du serveur Nginx , mais avec la clef qui convient.
    du coup sur OBS, tu verras les 6 streams en meme temps.

    Reste evidemment que c'est mieux d'avoir le serveur sur le meme reseau local (100Mbps ou plus) que la machine OBS. De cette maniere au lieu de donner l'URL internet, tu donne a OBS l'URL local (c'est a dire l'addresse ip 192.168.0.xxx local du serveur.

    les autres a l'exterieur devront eux utiliser l'adresse IP "internet" que tu trouveras avec whatismyip
    Une autre chose que tu devras faire, c-est faire un NAT (port forwarding) du port RTMP de ton serveur Nginx.
    Si tu n'as rien change , le port c'est 1935 par defaut.
    tu dois faire ca parce que quand les autres appellent ton serveur depuis l'exterieur, ils tombent pas sur le serveur, mais sur ton routeur. comme ton routeur sait pas trop quoi faire avec cet appel, il faut lui dire a qui il doit le passer. tu fais ca avec un NAT, en disant au routeur: si une demande de connexion sur le port 1935 arrive, tu la passe a telle adresse IP (qui sera celle du serveur, soit 192.168.0.xxx)

    Le danger de faire comme ca c'est que probablement ton adresse IP sur internet et l'adresse locale de ton serveur sont dynamiques (DHCP), c'est a dire qu'elle peuvent changer.
    pour ton adresse internet tu peux en general pas faire grand chose, alors pour ca on a invente le DynDNS. si ton routeur est equipe d'un client DynDNS, il te suffit d'enregistrer un nom de domaine (monserveurnginx.fr par exemple) et de configurer le client DynDNS du routeur avec les infos.
    Si tu n'as pas de client DynDNS dans ton routeur, tu peux le mettre dans le serveur RTMP,
    Certains fournisseurs donnent acces gratuitement a un service DynDNS, sinon il faut un acheter un , mais ca coute pas cher, il z en a meme des gratuits.
    De cette maniere, toute les 10 minutes (par exemple) , ton routeur va verifier si son adresse a change. si elle change, il previent le DNS de ton gestionnaire de domaine qu'il faut mettre a jour le domaine www.monserveurnginx.fr (par exemple) avec la nouvelle adresse.

    De cette maniere tu fournis a tes amis une URL en claire RTMP://www.monserveurnginx.fr/live
    et c'est le DNS qui se demerde pour traduire ca en RTMP://93.119.32.144/live quelque soit ladite adresse numerique.
    Pour acheter un nom de domaine tu vas chey un fournisseur comme gandi.net
    Pour l'adresse locale c'est le meme probleme mais c'est plus simple a resoudre.
    effectivement c'est ton routeur qui delivre les adresses IP (192.168.0.xxx) a tout ce qui se connecte sur ton reseau. Il suffit donc de mettre une IP fixe dans ton serveur (192.168.0.101 par exemple) et de limiter la liste des adresses a distribuer du routeur (par exemple tu laisses en DHCP les numeros de 1 a 99 et donc en statique tu pourra utiliser les numeros de 100 a 250).
    De cette maniere ton routeur essaiera pas de donner pas l'adresse 101 parce qu'elle est pas dans la liste des adresses IP libres.
    Pour ca en general tu ouvre un explorateur et tu te connectes sur l'adresse du routeur (souvent 192.168.0.1) , tu entres dans les menus et tu cherches "NAT" ou "port forwarding".
    suivant quelle platforme (mac, pc, raspberry) tourne ton serveur, tu iras dans les parametres reseaux pour modifier l'adresse IP de automatique a une valeur comme 192.168.0.101
    pour les autres parametres (masque 255.255.255.0 et passerelle/gateway=l'adresse du routeur, souvent 192.168.0.1, idem pour le DNS1 et 2 que tu peux laisser en auto ou mettre celle du routeur, ou celle de ton fournisseur d'acces ou celle de google 1.1.1.1)

    voila chacun de tes potes va streamer en RTMP://monserveurnginx/live/streamX (ou X est son numero personel de 1 a 7 par exemple)
    et toi tu va ouvrir sur ton OBS chaque stream comme
    RTMP://192.168.0.101/live/stream1
    RTMP://192.168.0.101/live/stream2
    RTMP://192.168.0.101/live/stream3 etc....

    *des fois il faut entrer l'URL RTMP://192.168.0.101/live dans un champ, et la clef (key) stream1 dans un autre.

    si tes amis sont connectes, tu vas avoir l'image et le son au bout de quelque secondes.
     
    #7 giroudf, 27 Avril 2021
    Dernière édition: 27 Avril 2021
    • Merci Merci x 1
  8. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Vraiment merci beaucoup de prendre autant de temps, je fais ce que tu me dis la
     
  9. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Je suis désolé d'abuser de votre gentillesse, mais le problème c'est que nous passons sur OBS mais si nous mettons l'adresse RTMP://www.monserveurnginx.fr/live ils nous faut différencier le flux de mon ami et moi, mais vous dîtes que Nginx ne fait pas ça
     
  10. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    oui il le fait parce que RTMP://www.monserveurnginx.fr/live c'est que l'adresse du serveur (/www.monserveurnginx.fr) et le nom de l'application sur le serveur (live)
    On peut avoir plusieures applications avec des nom differents.
    Par exemple tu peux avoir une application qui "pousse" le stream sur youtube.
    du coup tu va appeler cette aplication "youtube" et l'url sera
    rtmp://www.monserveurnginx/youtube

    si tu veux une autre applicationqui va "pousser" le stream sur twitch, tu va creer une autre
    application (twitch par exemple) et l'url sera
    rtmp://www.monserveurnginx/twitch

    une troisieme application pourrait simplement enregistrer le stream sur le serveur et on l'appelerait "recorder".
    l'url serait rtmp://www.monserveurnginx/recorder

    Les applications ca se configure de le fichier de config de nginx.conf

    il manque la clef, qui est le nom du stream.
    si tu veux 10 streams, il faut definir 10 clefs.
    gogo1, gogo2, gogo3, gogo4 etc...
    du coup tu auras 10 streams avec l'URL complete pour chaque stream
    1er stream RTMP://www.monserveurnginx.fr/live/gogo1
    2iem stream RTMP://www.monserveurnginx.fr/live/gogo2
    3iem stream RTMP://www.monserveurnginx.fr/live/gogo3
    etc...

    donc chacun de tes amis va choisir une clef, ouvrir un stream avec l'adresse
    RTMP://www.monserveurnginx.fr/live ET la clef, donc
    RTMP://www.monserveurnginx.fr/live/gogo1 par exemple

    ton serveur va recevoir les 10 streams (gogo1 a gogo10) et toi sur OBS tu va les ouvrir en entrant les 10 clefs.
    Evidemment chacun peut inventer la clef de son choix, mais si tu veux ouvrir le stream , il faut connaitre quelle clef il a utilise.
    Et evidemment deux personnes ne peuvent pas utiliser la meme clef.

    si vous avez tous un prenom different, vous pouvez utiliser votre prenom comme clef.
    Jacques, Kevin, Bernard, Abdel-aziz, Zaitoun comme ca tu sais a qui est le stream.

    si tu me donnes l-adresse de ton serveur, je t'envoie un stream avec la clef "clipvideo"
    tu pourras le lire en entrant l'url RTMP://www.monserveurnginx.fr/live/clipvideo dans VLC ou OBS par exemple.
     
    #10 giroudf, 27 Avril 2021
    Dernière édition: 27 Avril 2021
  11. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    encore merci, comment fait on pour récupérer le flux vidéo de nginx sur navigateur ?
     
  12. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    alors ca depend le navigateur.
    pour faire ca on doit avoir du HTML5 et faire du WebRTC.
    En Html5, le tag <video> doit fonctionner, mais il ne fait que lancer le flash player.
    et il faut que le navigateur supporte le flash (ce qui est de plus en plus rare, par exemple Firefox version 84 est la derniere version a supporter le flash)
    du coup je crois pas que ce soit vraiment possible d'ouvrir simplement une URL RTMP:// , il faut tout un code derriere (Java ou autre ) dans une page web en HTML5.
    Par exemple ici , un gars a ecrit du code pour jouer du RTMP dans une page web sans flash player
    GitHub - Streamedian/html5_rtsp_player: html5 player for rtsp stream
    il a meme mis une page de demo en ligne.
    Streamedian RTSP player example
    Apparemment, la methode utilisee ici est de capturer les paquets de donnees du stream RTMP et les convertir en petits bout de video mp4.
    Chez Wowza tu as une page a peu pres identique qui demontre plusierues methodes
    Video Test Player | RTMP, HLS & DASH (wowza.com)

    Comme quoi , sous certaines conditions , c'est possible.
     
    #12 giroudf, 28 Avril 2021
    Dernière édition: 28 Avril 2021
  13. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Bonjour, merci pour t'es réponses grâce à toi nous avons pu récupérer les flux de tout mes amis, bon je t'avoue qu'il y'a juste un petit soucis lors du stream, il y a comme des freezes par moment pour certaine POV, tu sais comment régler cela ? (je pense que ce n'est pas du a ma connexion) mais au réglage sur obs enfin peut etre que je me trompe
     
  14. giroudf

    So

    Points Repaire:
    15 400
    Recos reçues:
    454
    Messages:
    18 164
    Appréciations:
    +747 / 3 142 / -34
    probablement un probleme de connection ou le serveur RTMP qui arrive pas a suivre.
    il y a aussi pleins de parametres a optimiser. Par exempe il y en a un qui gere le decalage entre la video et le son. Si ce decalage est plus grand qu'une certaine valeur (a cause d'une lenteur sur le reseau par exemple), l'image freeze et reprend avec le son synchrone.
    Tu as aussi une option qui perment entre autre d'entrelacer ou non la video et l'audio, ce qui peut influencer le parametre precedent aussi.
    En plus vaut mieux streamer une resolution raisonnable (1280x720p, ou meme 848x480) pour avoir une video fluide, que de passer en full HD.
    ca depend le contenu en fait.
     
  15. Hajiraka

    Points Repaire:
    100
    Recos reçues:
    0
    Messages:
    10
    Appréciations:
    +0 / 0 / -0
    Bonsoir, je me permet de relancer cette discussion, moi et mes amis avons réussi à faire quelques choses de très correcte pendant les Stream avec 4 gameplays sur une chaîne Twitch, et je te remercie, malgré tout nous voulons passé au niveau supérieur et améliorer la chaîne de façon drastique, c'est pour ça qu'on souhaiterai utiliser une solution payante et très performante que NGINX (nous avons maintenant les moyens pour) peu importe le prix.
     

    Fichiers attachés:

Chargement...

Partager cette page

Dernières Occasions

 
Vous souhaitez annoncer sur le Repaire ? Contactez-nous