2017-10-02 22 views
-2

私はnode-redとjavascriptの両方が新しく、誰かが私を助けてくれることを望んでいました。私はnode-redを使ってビデオをストリーミングしようとしていました。このフローを使用してイメージを正常に表示しました。node-red html5ストリーミングビデオ

[{ 
    "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"] 
    ] 
    } 
] 

私はこの流れでビデオをストリーミングしようとしました。

[{ 
    "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"] 
    ] 
}] 

これも。

[{ 
    "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"] 
    ] 
}] 

両方のビデオフローが「応答なしオブジェクト」メッセージをスローします。

ご協力いただきありがとうございます。

このモードでfile-inノードは、ファイルの各チャンクの新しいメッセージを作成しますので、あなたがhttp-inhttp-responseノードとストリームモードを使用することはできませんマイク

答えて

0

bufferモードを試してください。

+0

Node-Redのファイルノードを使用すると、1つのutf8文字列、1行のmsg、1つのBufferオブジェクト、1つのBufferストリームという選択肢があります。両方のバッファオプションを使用して – Mike

+0

を試しました。単一のバッファオブジェクトは何もしません。ページはロードを続行し、停止しないで、メッセージを表示しません。 Buffersのストリームは、 "No response object"というメッセージを出すものです。 – Mike

+0

バッファのストリームは使用できません。単一のバッファが機能するはずです。ビデオの大きさと、ブラウザ開発ツールのネットワークタブは何を表していますか? – hardillb