微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jetson nano 上的 Raspberry pi 相机无法正常工作

如何解决jetson nano 上的 Raspberry pi 相机无法正常工作

我在 jetson nano 上使用 raspBerry pi 相机 v2。使用 gstreamer 和 python 可以正常工作,但尝试通过 javascript 运行它不起作用。

这是我的一些方法

方法 1:

使用导航器:

<body>
    <div id="container">
        <video autoplay="true" id="videoElement"></video>
    </div>
    <!--<script type="module" src="./picam.js"></script>-->
    <script>
        var video = document.querySelector("#videoElement");

        if (navigator.mediaDevices.getUserMedia) {
            navigator.mediaDevices.getUserMedia({ video: true })
                .then(function (stream) {
                    video.srcObject = stream;
                })
        }
    </script>
</body>

有回应:

(index):1 Uncaught (in promise) DOMException: Requested device not 找到

方法 2:

使用: https://www.npmjs.com/package/pi-camera-connect

<body>
    <div id="container">
        <video autoplay="true" id="videoElement"></video>
    </div>
    <script>
        const { StreamCamera,Codec } = require("pi-camera-connect");
        const streamCamera = new StreamCamera({
            codec: Codec.H264
        });
        const writeStream = fs.createWriteStream("video-stream.h264");
        const videoStream = streamCamera.createStream();
        videoStream.pipe(writeStream);
        streamCamera.startCapture().then(() => {
            setTimeout(() => streamCamera.stopCapture(),5000);
        }); </script>
</body>

</html>

未捕获的 ReferenceError: require 未定义

方法 3:

<body>
    <div id="container">
        <video autoplay="true" id="videoElement"></video>
    </div>
    <script type="module">
        import { StreamCamera,Codec } from "pi-camera-connect";
        import * as fs from "fs";

        // Capture 5 seconds of H264 video and save to disk
        const runApp = async () => {
            const streamCamera = new StreamCamera({
                codec: Codec.H264
            });

            const videoStream = streamCamera.createStream();
            const writeStream = fs.createWriteStream("video-stream.h264");
            videoStream.pipe(writeStream);

            await streamCamera.startCapture();
            await new Promise(resolve => setTimeout(() => resolve(),5000));
            await streamCamera.stopCapture();
        };

        runApp();
    </script>
</body>

错误

未捕获的类型错误:无法解析模块说明符 “pi-camera-connect”。

有人用javascript在jetson nano上成功运行过raspBerry pi相机吗?

这个python方法虽然很好用:

import cv2
print(cv2.__version__)
dispW=640
dispH=480
flip=2
camSet='nvarguscamerasrc !  video/x-raw(memory:NVMM),width=3264,height=2464,format=NV12,framerate=21/1 ! nvvidconv flip-method='+str(flip)+' ! video/x-raw,width='+str(dispW)+',height='+str(dispH)+',format=BGRx ! videoconvert ! video/x-raw,format=BGR ! appsink'
cam= cv2.VideoCapture(camSet)

while True:
    ret,frame = cam.read()
    cv2.imshow('nanoCam',frame)
    if cv2.waitKey(1)==ord('q'):
        break
cam.release()
cv2.destroyAllWindows()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。