2017-10-02 3 views
-2

Ich bin neu bei beiden Knoten-rot und Javascript und ich hatte gehofft, jemand könnte mir helfen. Ich habe versucht, ein Video mit node-rot zu streamen. Ich habe erfolgreich ein Bild mit diesem Flow angezeigt.node-red html5 streaming video

[{ 
    "id": "c2701738.8bfcb", 
    "type": "http response", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "statusCode": "", 
    "headers": {}, 
    "x": 1118.170166015625, 
    "y": 3207, 
    "wires": [] 
    }, 

    { 
    "id": "4d34db55.ad8834", 
    "type": "function", 
    "z": "6a1a7f76.b846d8", 
    "name": "Set Content-Type header", 
    "func": "msg.headers = { \"Content-Type\":\"image/png\"};\nreturn msg;", 
    "outputs": 1, 
    "noerr": 0, 
    "x": 882.170166015625, 
    "y": 3207, 
    "wires": [ 
     ["c2701738.8bfcb"] 
    ] 
    }, { 
    "id": "21504cc0.71adcc", 
    "type": "http in", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "url": "/image1", 
    "method": "get", 
    "upload": false, 
    "swaggerDoc": "", 
    "x": 145.17022705078125, 
    "y": 3206, 
    "wires": [ 
     ["aa24fb51.7861f"] 
    ] 
    }, { 
    "id": "aa24fb51.7861f", 
    "type": "file in", 
    "z": "6a1a7f76.b846d8", 
    "name": "Picture Selector", 
    "filename": "/home/pi/.node-red/lee.png", 
    "format": "", 
    "sendError": true, 
    "x": 596.1702270507812, 
    "y": 3207.000244140625, 
    "wires": [ 
     ["4d34db55.ad8834"] 
    ] 
    } 
] 

Ich versuchte diesen Fluss, um ein Video zu streamen.

[{ 
    "id": "47af46de.9382d8", 
    "type": "http in", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "url": "/video3", 
    "method": "get", 
    "upload": false, 
    "swaggerDoc": "", 
    "x": 139, 
    "y": 3369, 
    "wires": [ 
    ["9da4e018.797ce8"] 
    ] 
}, { 
    "id": "f7318675.c876a", 
    "type": "function", 
    "z": "6a1a7f76.b846d8", 
    "name": "Set Content-Type header", 
    "func": "msg.headers = { \"Content-Type\":\"video/mp4\"};\nreturn msg;", 
    "outputs": 1, 
    "noerr": 0, 
    "x": 869.9999389648438, 
    "y": 3370, 
    "wires": [ 
    ["2e33de98.3a55da"] 
    ] 
}, { 
    "id": "2e33de98.3a55da", 
    "type": "http response", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "statusCode": "", 
    "headers": {}, 
    "x": 1110.9999389648438, 
    "y": 3371, 
    "wires": [] 
}, { 
    "id": "9da4e018.797ce8", 
    "type": "file in", 
    "z": "6a1a7f76.b846d8", 
    "name": "Video Selector", 
    "filename": "/home/pi/.node-red/1.mp4", 
    "format": "stream", 
    "sendError": false, 
    "x": 592, 
    "y": 3369.000244140625, 
    "wires": [ 
    ["f7318675.c876a"] 
    ] 
}] 

und dieses auch.

[{ 
    "id": "28aa7076.b2c0e", 
    "type": "http in", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "url": "/video4", 
    "method": "get", 
    "upload": false, 
    "swaggerDoc": "", 
    "x": 145, 
    "y": 3525, 
    "wires": [ 
    ["898878ed.61ff48"] 
    ] 
}, { 
    "id": "866daf6f.5eb068", 
    "type": "http response", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "statusCode": "", 
    "headers": {}, 
    "x": 874.5, 
    "y": 3528, 
    "wires": [] 
}, { 
    "id": "a1babcbf.9ecac8", 
    "type": "template", 
    "z": "6a1a7f76.b846d8", 
    "name": "", 
    "field": "payload", 
    "fieldType": "msg", 
    "format": "handlebars", 
    "syntax": "mustache", 
    "template": "<!DOCTYPE html>\n<html>\n<body>\n\n<video width=\"640\" height=\"480\" autoplay>\n <source src=\"{{msg.payload}}\" type=\"video/mp4\">\n Your browser does not support the video tag.\n</video>\n\n</body>\n</html>\n\n", 
    "output": "str", 
    "x": 732, 
    "y": 3528, 
    "wires": [ 
    ["866daf6f.5eb068"] 
    ] 
}, { 
    "id": "898878ed.61ff48", 
    "type": "file in", 
    "z": "6a1a7f76.b846d8", 
    "name": "videoSelector", 
    "filename": "/home/pi/.node-red/1.mp4", 
    "format": "stream", 
    "sendError": true, 
    "x": 483, 
    "y": 3528, 
    "wires": [ 
    ["a1babcbf.9ecac8"] 
    ] 
}] 

Beide Videostreams werfen eine Nachricht "Kein Antwortobjekt".

Vielen Dank im Voraus für jede Hilfe.

Mike

Antwort

0

Sie können den Stream-Modus mit http-in und http-response Knoten, da in diesem Modus verwenden die file-in Knoten neue Nachrichten für jedes Stück der Datei erstellt.

Versuchen Sie den buffer Modus.

+0

Die Verwendung des Dateiknotens in Node-Red gibt mir nur die folgenden Auswahlmöglichkeiten: eine einzelne utf8-Zeichenfolge, eine Nachricht pro Zeile, ein einzelnes Buffer-Objekt und einen Pufferstrom. Ich versuchte – Mike

+0

mit beiden Buffer-Optionen. Das einzelne Buffer-Objekt tut nichts. Die Seite wird einfach weiter geladen und stoppt nie und zeigt keine Nachrichten an. Der Pufferstrom ist derjenige, der die Nachricht "Kein Antwortobjekt" gibt. – Mike

+0

Sie können keinen Stream von Puffern verwenden. Der einzelne Puffer sollte funktionieren. Wie groß ist das Video und was sagt der Netzwerk-Tab in den Browser-Entwickler-Tools? – hardillb