问题标签 [gopro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
165 浏览

c++ - C++/opencv/Ubuntu:GoPro 非常低的 fps

我只是买这个:https ://www.amazon.fr/gp/product/B08CGVSRQV/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc= 1 ...我拥有一个gopro3,我想将它用作网络摄像头并与opencv一起工作.

我的系统:gopro3 => microHDMI 转 HDMI => HDMI 转 USB3(我在上面购买)=> 我的电脑。

在 Ubuntu 上,使用这个基本程序:

出现一个小窗口,大约 800/600,一切正常,延迟良好,fps 好,质量差但没什么奇怪的。如果我强制 1920/1080:

我可以看到我的视频延迟大约为 1 秒,可能为 5 fps;

我想,也许我的 USB3 有问题(用于捕获 HDMI),但我尝试使用限制为 30fps 的“guvcview”并且一切正常(延迟、fps、质量)。

我不知道如何用 1920/1080/60 和 opencv 读取我的 gopro(30fps 应该足够好)。Gopro 能做 1920/1080/60,next cable 也能,采集卡也能,Ubuntu 也能......

也许问题不是opencv而是Ubuntu配置。

任何想法 ?

0 投票
0 回答
1293 浏览

ffmpeg - /dev/video0:参数无效

我们正在尝试使用 HDMI 到 CSI2 转换器将 GoPro Hero 5 black 连接到 raspberri pi-4。但是我们遇到了一个问题,例如每当我们尝试使用 ffmpeg 或任何实时视频软件进行流式传输时,我们都无法连接设备,并且会出现以下错误

[video4linux2,v4l2 @ 0x15ce430] ioctl(VIDIOC_STREAMON):无效参数 /dev/video0:无效参数

我们尝试了

cat /dev/video0 抛出相同的错误。

另一方面,我们有另一台完美运行的相机!

任何投入都是可观的。

0 投票
0 回答
254 浏览

ffmpeg - 如何从 mp4 视频帧中手动提取元数据?

我有一个大的 GoPro 视频,大约 11:44 分钟。GoPro 每秒记录 30 帧带有日期时间 (UNIX) 和 gps(lat, long) 信息的帧。所以我的视频中有大约 21188 帧。

我需要提取 GPS 数据以将每一帧都带到地图上。有一个名为 GoProtelemetryextractor 的工具 ( https://goprotelemetryextractor.com/free/ )。这给了我一个 19800 行的 csv 文件(每帧 1 行)。显然,csv 中缺少 1400 行/帧。如果我现在在 GIS 软件中将 csv 与 mp4 复用,则这些帧会被分配给错误的“csv 帧”。我需要通过从视频中删除“无元数据帧”来将这些 19800 帧正确匹配到视频中的帧。我猜问题是 goprotelemetry 提取器开始使用它找到的第一个元数据写入 csv。而不是从第一帧开始,只写“NO METADATA ROWS”。

基本上我的问题是:如何“手动”从每个 mp4 帧中提取元数据,以了解 csv “开始”的位置并匹配视频和 csv?

0 投票
1 回答
107 浏览

arrays - 从 vb.net 中的字节数组创建 1bpp 位图的问题

我在从 vb.net 中的字节数组创建位图时遇到问题。
我从 GoPro 获取像素数据为每像素数据 1 位。
它看起来像这样:

前 15 个字节是请求的重复。这个和最后一个字节被截断

使用以下代码,我将数据转换为位图:

位图宽 64 像素,高 75 像素,大小为 600 字节,然后我将位图加载到 PictureBox 中。结果如下所示: 错误显示

整个图片向左移动了 4 个像素。如果我旋转和翻转图像,整个图片也会向左移动 4 个像素。 翻转 如何获得图像上缺少的 4 像素列?我已经尝试了很多,包括转换为 24bpp。一切都导致相同的结果

PS:数据没问题,我是自己手动转换成bit,然后手动画了一个bitmap。所有的数据都在那里。

我谢谢你!

0 投票
1 回答
378 浏览

python - (使用 Python 的 OpenCV)使用 VideoCapture(1)/外部网络摄像头时出现不希望的自动旋转行为

我正在尝试使用 OpenCV 将我的网络摄像头(GoPro 8)视频显示到计算机上,但我不想要自动旋转功能——我的意思是当我从手持 GoPro 从横向切换到纵向时(比如旋转 90 度),我希望计算机上显示的图像以横向显示旋转视图。

横屏时在电脑上显示的图像

按住纵向时在计算机上显示的图像

所以上面的两张照片显示了现在正在做什么,但我希望它看起来像下面这样。 以人像模式在电脑上显示的理想图像

这是我的代码:

有什么办法可以忽略外部网络摄像头的方向?我尝试使用 cv2.rotate() 旋转图像,但这不是我想要的。

0 投票
0 回答
58 浏览

macos - mac 上剩余的虚拟相机

过去,我尝试使用一些软件(manycam、epoccam 和其他我不记得的软件)在我的 Mac 上将我的 gopro 用作网络摄像头,然后我开始卸载所有这些软件。但是,我的 Mac 上仍然有网络摄像头“剩菜”,因此它检测到 2 个网络摄像头,我的主要摄像头和一个固定图像,上面写着我可能在某个时候设置的 gopro。

我想知道如何在不重新安装macos的情况下将其删除。

谢谢

富兰克林

0 投票
0 回答
136 浏览

video - 如何从gstreamer中的流式视频中删除随机灰色帧

我使用 RPi4B 和 Auvidea B101 HDMI 成功地通过零层 VPN 通过 5G 蜂窝链路将我的 GoPro (1080P/30fps) 视频流式传输到 CSI2 板到我的 windows 10 Mission Planner Groundstation。我的 Windows 10 机器上的管道如下。这有效(非常低的延迟),但我得到烦人的随机灰色帧,通常在流中的不同时间最多持续约 0.25 秒。我可以在管道中修改什么来解决这个问题?

gst-launch-1.0 -v udpsrc port=5600 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" !rtpjitterbuffer!rtph264depay!avdec_h264 !视频转换!自动视频接收器同步 = 假

我的 RPi4 上的工作管道如下(RPi4 位于 KERNEL 5.10,gstreamer 1.18.4) gst-launch-1.0 v4l2src device=/dev/video0 !'视频/x-raw,帧率=30/1,格式=UYVY'!v4l2h264enc !'video/x-h264,level=(string)4' !rtph264pay!udpsink 主机=172.30.xxx.xxx 端口=5600

注意:当我将流直接显示到本地 RPi HDMI 监视器时,不会出现灰色帧,仅当流式传输到我的远程 Windows 笔记本电脑时)请注意,如果我在同一设置上使用 Pi 相机,则不会发生这种情况。 为了进一步描述这个问题,附上的灰色图像显示,当流暂时恢复为全灰色图像时,它通常只会部分显示运动中的彩色对象,而周围背景中的静态对象全部显示显示为灰色(可能与 I 帧有关?)

我可以在两个管道中修改什么来解决这个问题?

0 投票
0 回答
584 浏览

python - 从 GoPro 中提取每个视频帧的 GPS 数据

我有一个 GoPro 视频,其中包含 mp4 文件中的 GPS 数据。现在使用 Python 脚本,我想提取该视频的每一帧并保存每一帧各自的 GPS 坐标。我找到了一个 Python 库pygpmf,它有助于从视频中提取 GPS 数据。到目前为止效果很好,可以将 GPS 数据提取为以下格式的 XML 文件:

看起来不错,但是,我看不到如何将框架链接到该 GPS 坐标列表。有什么办法我在这里想念吗?还是有其他图书馆更适合这项工作?或者你有什么其他的想法我怎么能得到每帧的 GPS 数据?

0 投票
1 回答
38 浏览

ffmpeg - 为什么andorid相机和gopros不使用b帧?

我正在使用 ffmpeg 提取视频的 gop 结构,这些视频是用我的智能手机(Samsung Galaxy A51)和 GoPro(Hero 7 Black)录制的。我得到的 gop 结构看起来都是这样的:IPPPPPPPPPPPPPP。不同设备的视频仅在每个 gop 结构的 P-Frame 数量上有所不同。我使用 fpr 的 ffmpeg 代码如下:

ffprobe -show_frames inputvideo.mp4 -print_format json 现在我的问题是为什么两个设备的编码器都不使用 B 帧?是因为 B 帧的编码对于硬件来说更复杂还是类似的东西?

0 投票
0 回答
34 浏览

node.js - 如何从节点访问虚拟文件夹(windows)

我有一个小节点脚本,它从 gopro 视频文件中读取元数据以获得 Max speed 。我想在不复制磁盘的情况下访问这些文件,但无法让节点访问 Windows 虚拟文件夹

当 path = "c:...\folder\file" OK 当 path "This PC\folder\file" KO

代码: