问题标签 [canon-sdk]

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 回答
494 浏览

c# - 佳能 SDK - 如何检查视频是否正在录制?

这个问题是指将佳能 SDK 与支持视频的 DSLR 相机一起使用。有谁知道是否有办法检查相机上是否正在录制视频?

我知道没有办法开始使用 SDK 录制视频,但也许有办法检查是否正在录制视频?

谢谢。

0 投票
3 回答
2045 浏览

c++ - DirectShow 和佳能 EOS 5D Mark II

有没有办法通过 DirectShow 与佳能 EOS 5D Mark II(或类似的尼康)进行通信,以便在相机连接到 PC 的情况下获得实时流?

一种解决方案是使用 EOS-Utility 或在自己的应用程序中使用 Canon SDK (Nikon SDK)。

那么,有没有办法通过 Microsoft DirectShow 从连接的摄像头获取实时视频?

提前致谢。

0 投票
2 回答
649 浏览

android - 如何在 Android 应用程序中使用 edsdk.lib 文件?

我正在制作一个应用程序,我需要使用 edsdk.lib 文件通过 Android NDK 实现佳能 sdk 集成。我已经放置了 EDSDk.lib 文件 jni 文件夹,我通过 Android-ndk 编译了应用程序。

它给了我以下o/p

我如何通过 Android ndk 编译 EDSDk.lib 请帮助

0 投票
1 回答
174 浏览

usb - 有没有办法通过佳能 EDSK 检测 PC 闪光信号或快门打开的确切时间?

我目前有一个通过灯泡模式驱动相机的设备。它的一根电缆连接到灯泡连接器,另一根连接到 PC 闪光灯连接器。PC 闪光信号仅在快门打开时触发。在触发快门和实际打开快门之间有长达 100 毫秒的可变延迟。所以如果我想曝光 50 毫秒,我触发灯泡,等待 PC 闪光信号,然后等待 50 毫秒,然后停止触发灯泡。我现在有一个使用 EDSDK 的 USB 版本的设备,唯一的问题是我找不到任何与 PC 闪存信号等效的 EDSDK 事件。是否有任何 EDSDK 事件表明快门打开的确切时刻?

0 投票
4 回答
3810 浏览

linux-device-driver - 佳能 DSLR 视频环回使用 v4l2loopback 和 EDSDK Liveview?

我想用我的数码单反相机作为视频输入,让我们在 Linux 和 Android 下说 Skype / Google talk。

是否可以使用 v4l2loopback 和 Canon EDSDK 创建视频环回?如何将实时取景缓冲区从相机传输到视频环回?

谢谢

0 投票
1 回答
1717 浏览

file-transfer - 佳能 EDSDK 示例代码 - 帮助了解将文件保存到位置

我是 EDSDK 的新手,但到目前为止对结果非常满意。我的程序可以正常保存到相机,但是当我设置为 saveTo Host 时,我不清楚它认为应该保存到哪里。

一切似乎都奏效了。回调函数被调用,进度条动画,但我不知道它认为它指向文件的位置。

我得到的最接近的是找到发出@“download”命令的位置,这个调用的参数应该被转换为(EdsDirectoryItemRef)

这一切似乎都来自 EDSCALLBACK handleObjectEvent 但我无法弄清楚它是如何构造的。

理想情况下,我希望能够指定我希望图像在磁盘上的位置。有人可以提供一些帮助吗?

[编辑]

好的,我看到图像正在进入构建目录,但也许有人可以帮助我理解原因。或者更好的是如何为自己指定路径。

0 投票
1 回答
1460 浏览

usb - 佳能 EDSDK 设备忙无法取消半完成的图像传输

在 EDSDK 中,如果在应用程序重新启动并重新连接到设备时图像传输过程中发生错误(即连接丢失、应用程序错误......),则无法拍摄新照片,因为 EdsSendCommand(hdev,kEdsCameraCommand_TakePicture,0) 总是返回 EDS_ERR_DEVICE_BUSY .

这是因为即使我关闭相机,以前的图像数据也在相机内存中。唯一的解决办法就是把电池关掉!!!有没有人有更好的解决方案(软件)发送一种RESET并释放内存中等待传输的所有图像数据,让相机恢复正常工作状态。

我在以下模式下运行 SDK 我首先将属性设置为 EdsdkWrapper.PropID_SaveTo : EdsdkWrapper.EdsSaveTo.Host

EdsSendCommand EdsdkWrapper.CameraCommand_TakePicture

问题:如何在突然终止后重置相机,以便它可以忘记所有半完成的传输?请注意,突然终止后我没有 IntPtr 参考。(即我不能调用 EdsdkWrapper.EdsDownloadComplete(imageReference))

0 投票
4 回答
3982 浏览

c# - c# Canon SDK:CameraCommand_TakePicture 后没有回调

我一直在努力使这项工作有一段时间了……阅读了很多帖子,但没有一个可以解决此问题。

我正在使用佳能 SDK 连接到 EOS 550D。我正在运行 win7 64bit 和 Visual Studio c# 2010。

我一步一步做的是:

--> 0 初始化 SDK

--> 1 获取相机列表

--> 2 获取子数

--> 3 如果有孩子,获取第一个孩子

--> 4 打开一个会话

--> 5 告诉sdk在本地保存图片

--> 6 设置主机可用容量

--> 7 注册状态事件处理器

--> 8 注册对象事件处理程序

……

这样做时我没有收到任何错误,一切似乎都很好。

这是我的处理程序

...

所以现在我的问题是没有一个处理程序被调用过。不知道为什么,我在网上搜索了一段时间,尝试了不同的方法但没有得到回调......

这是我调用拍照命令的方法:

也许有人知道我可以尝试做什么?

提前致谢!

最好的问候,托拜厄斯

0 投票
1 回答
492 浏览

macos - EDSDK EdsOpenSession EXC_BAD_ACCESS 信号

我相信这类似于线程:Canon SDK 2.11 on OSX

但是那里的解决方案对我不起作用。我很困惑,因为我不确定如何弄清楚发生了什么变化。我有一些工作软件,在假期里没有工作,现在当我打开它工作时它失败了。不仅是我的软件,还有 SDK 中包含的演示应用程序,我从未更改过它,并且确实可以正常工作。

我尝试过使用两种不同的相机(5DmII 和 5DmIII),结果相同。

当我尝试运行应用程序时,相机会被识别,但是当它尝试打开一个会话时,它会收到一个 EXC_BAD_ACCESS 信号。在每个程序中,当使用此消息调用 EdsOpenSession() 时就会发生这种情况......

*** -[NSConcreteData release]:消息发送到已释放实例 0x8157af0

有趣的是,当我尝试使用 EOS Utility 时也会崩溃。所以我更新了,现在效果很好。我按照上面线程中的建议,将 EDSDK.framework 从工作包复制到我的程序并重新编译,但我得到了相同的结果。

我试图弄清楚如何联系佳能以获取一些信息,但他们并不容易获得帮助,所以我正在呼吁我知道的一个响应小组。

我唯一能想到的是,在假期的某个时候,我在不知不觉中更新了一些关键库。

有没有其他人遇到并能够解决这个问题?

我正在运行 OS X 10.7.5、xcode 4.1 和 EDSDK 2.11.3

0 投票
1 回答
257 浏览

c# - .net 中的 Webview Livescope SDK 视频录制

如何录制佳能相机 VB-C60 的视频?这是网络摄像机,现在我正在使用 wvls_sdkstng.dll(Webview Livescope SDK)和 dll 版本是 2.1.3 来录制视频。

我的代码在 c#.net 中。我应该使用哪个功能来录制视频。?我尝试过使用 SaveAsAVI 功能,它给了我编解码器 60 错误。