如何使用 mjpg-streamer-experimental 旋转相机?

3D打印 八字纹
2021-05-12 17:10:59

我已经mjpg-streamer-experimentaljacksonliam / mjpg-streamer成功安装

我只是不知道如何设置我需要的参数,以便将我的相机旋转 180 度(我的网络摄像头倒置安装,用于我制作的自定义安装)。

我正在使用罗技 C270。我已经在网上搜索了几个小时来解决这个问题,但找不到我要找的东西。当涉及到这些东西时,我不是很熟练,这无济于事。


如果我运行 GiF 的回答中建议的命令

mjpg_streamer -i 'input_uvc.so -rot 180'

我收到以下错误:

 libv4l2: error setting pixformat: Device or resource busy Unable to set format: 1196444237 res: 640x480 Init v4L2 failed !! exit fatal i: init_VideoIn failed 

设置任何参数时,我似乎都会收到该错误。我正在运行 Octoprint,如果这有什么不同的话。Octoprint 中似乎没有旋转选项。

在 mjpg-streamer 的这个特定分支上,信息似乎非常稀少。搜索该错误只会让我找到一堆网络摄像头无法正常工作的人,而我的网络摄像头工作得很好,我只需要将其旋转 180 度。


真的很感激一些帮助!

2个回答

编辑:现在我自己安装了 Octopi,我发现他们可以很容易地从界面直接旋转图像。如果您打开“设置”并查看“网络摄像头和延时摄影”下,可以看到水平或垂直翻转图像以及旋转 90 度的设置。


有几种方法可以旋转我所知道的图像。您可以通过输入插件、客户端或后处理来完成。

“input_uvc”和“input_raspicam”插件都有旋转图像的选项。如果您正在使用这些插件之一,请参阅input_uvcinput_raspicam 中的文档(值得注意的是,并非所有相机都支持输入选项)。您应该能够运行如下命令以获得旋转 180 度的流:

mjpg_streamer -i 'input_uvc.so -rot 180'

我不确定您是如何处理流的,但是您的客户有可能执行轮换。例如,如果您使用 VLC,您可以通过执行以下操作来设置旋转角度:

  • 打开“工具”菜单并选择“效果和滤镜”
  • 在“调整和效果”窗口中,在“视频效果”选项卡上,选中“变换”复选框
  • 从下拉菜单中选择一个旋转,然后单击“关闭”。

最后,如果您要保存流并且只关心之后旋转它,您可以使用像ffmpeg. 以这篇文章为例,在接受的答案中寻找“旋转”。

如果您的流是通过浏览器呈现的,您可以向视频元素添加一些 CSS3 格式。例如,您可以videoElement向流添加一个 ID,然后将以下内容添加到您的 CSS:

 #videoElement {
    transform: rotateZ(180deg);
    -webkit-transform:rotateZ(180deg); /* Safari and Chrome */
    -moz-transform:rotateZ(180deg); /* Firefox */ 
}

关于 Octoprint,Octoprint 似乎是一个 HTML 界面,因此您可以编辑标记以使用 CSS3 的 transform rotateX这将在客户端(浏览器)旋转图像。顺便说一句,谷歌搜索你的错误代码也有一些潜在的有用信息。

helpfor input 插件“ raspicam ”中,可以将以下参数传递给该插件:

[-fps | --framerate]...: set video framerate, default 5 frame/sec
[-x | --width ]........: width of frame capture, default 640
[-y | --height]........: height of frame capture, default 480
[-quality].............: set JPEG quality 0-100, default 85
[-usestills]...........: uses stills mode instead of video mode
[-preview].............: Enable full screen preview
[-timestamp]...........: Get timestamp for each frame
-sh : Set image sharpness (-100 to 100)
-co : Set image contrast (-100 to 100)
-br : Set image brightness (0 to 100)
-sa : Set image saturation (-100 to 100)
-ISO : Set capture ISO
-vs : Turn on video stablisation
-ev : Set EV compensation
-ex : Set exposure mode (see raspistill notes)
-awb : Set AWB mode (see raspistill notes)
-ifx : Set image effect (see raspistill notes)
-cfx : Set colour effect (U:V)
-mm : Set metering mode (see raspistill notes)
-rot : Set image rotation (0-359)
-stats : Compute image stats for each picture (reduces noise for -usestills)
-drc : Dynamic range compensation level (see raspistill notes)
-hf : Set horizontal flip
-vf : Set vertical flip

-rot参数可以旋转图像。