J'essaye d'exécuter une commande qui ouvre le joueur de VLC et les flux vidéo de RTMP dedans. Mais quand je l'exécute, le lecteur VLC se lève puis se ferme. Je pense que c'est parce que l'obus sur lequel il repose est en train d'être tué. Comment puis-je garder la coquille en vie?nodejs exec garde le shell en vie?
Exécution de la même commande de cmd
ligne dans Windows fonctionne très bien. Et la fermeture de la coquille ferme le lecteur VLC.
Mon code ressemble à ceci
var exec = require('child_process').exec
exec('"Z:/downloads/rtmpdump-2.4-git-010913-windows/rtmpdump.exe" -r "rtmp://199.9.251.83/app/jtv__cQlY3imWtyDf4Cr" -j "ae9d2c8bbe586ac9f88a4fae9ec5841c3976092c:{\"swfDomains\": [\"justin.tv\", \"jtvx.com\", \"xarth.com\", \"twitchtv.com\", \"twitch.tv\", \"newjtv.com\", \"jtvnw.net\", \"wdtinc.com\", \"imapweather.com\", \"facebook.com\", \"starcrafting.com\"], \"streamName\": \"jtv__cQlY3imWtyDf4Cr\", \"expiration\": 1370153205.846189, \"geo_ip\": \"91.10.111.130\", \"server\": \"video3-1\"}" --swfVfy "http://www-cdn.jtvnw.net/widgets/live_embed_player.r4b02d38f442d7cae5646f1a1c17078362f5fd857.swf?channel=games&referer=&channel=games" -v -o - | "C:/Program Files (x86)/VideoLAN/VLC/vlc.exe" - --play-and-exit')
J'ai ajouté la commande exacte que j'essaie de lancer à ma description. Je n'ai aucune idée de comment l'exécuter en raison de 'spawn'. Je pense que je dois le décomposer en args? Mais je ne sais pas comment parce que la commande est si longue –
Voir si le montage répond à votre question. –
C'est énervant de voir comment 'spawn' nécessite des arguments comme ça ... Et la chose du tuyau manuel, quel gâchis. Je vais probablement générer et exécuter un script shell, bonne idée. –