如何通过 SDK 在佳能相机上开始/停止视频录制?
Posted
技术标签:
【中文标题】如何通过 SDK 在佳能相机上开始/停止视频录制?【英文标题】:How to start/stop video recording on Canon camera via SDK? 【发布时间】:2010-10-27 21:38:05 【问题描述】:我有一台佳能 7D 数码相机,我希望能够从 PC 控制视频录制。 我已经下载了 Canon SDK 2.8,阅读了它包含的所有文档,但仍然无法弄清楚如何在相机上开始或停止视频录制。
有没有可能通过Canon SDK控制视频录制?
谢谢。
【问题讨论】:
佳能DIDP团队的官方回答是:“很遗憾,目前的SDK不支持电影录制功能。” 它必须是可能的,因为相机附带的 CD 上的 EOS Utility 支持它。 【参考方案1】:最新的佳能相机sdk文档包含答案:
6.4.3 开始/结束短片拍摄 您可以通过以下操作开始/结束短片拍摄。
EdsUInt32 record_start = 4; // Begin movie shooting
err = EdsSetPropertyData(cameraRef, kEdsPropID_Record, 0, sizeof(record_start), &record_start);
EdsUInt32 record_stop = 0; // End movie shooting
err = EdsSetPropertyData(cameraRef, kEdsPropID_Record, 0, sizeof(record_stop), &record_
【讨论】:
这是个好消息。我曾经使用反向工程的 hack 来做到这一点,但现在我可以切换到这个。 愿意分享你的技巧吗?在 PC 模式下连接时,t5i 似乎不听此命令。【参考方案2】:看一下我不确定的 gphoto(它适用于类似 unix 的系统)
http://www.gphoto.org/doc/remote/
只有我知道有效的破解方法是使用 USB-IR 发射器发送佳能遥控器使用的信号,您可以通过 USB-IR 发射器检查信号(启动、停止),然后从佳能遥控器接收信号,发送只要你想在你的程序中使用它
编辑
好像是别人先弄明白的
Need to record video with a DSLR using an SDK
编辑 2
Breezesys 找到了一个解决方案,似乎有一个未记录的命令,但是Chris breeze won't give the info up as u can see here
http://www.breezesys.com/DSLRRemotePro/help/index.html?video_capture.htm
一些十六进制或逆向工程师应该调查一下:/
编辑 3
只要外面有人说:
这是你自己研究功能的无证资料
这里是命令和函数列表,您也可以使用dll export viewer 为您自己提取它们,
DPPLibCom
DPPDLL
EDSDK
EdsImage
MLib
Ucs32P
这里还有一些 n@sty 工具用 dll 做 n@sty 的事情我希望你知道这些,因为在这里命名它们是非法的
【讨论】:
脏:D,你是程序员还是什么? gphoto 无法在佳能 DSLR 上开始/停止视频拍摄。那个其他帖子是我打开的,也没有答案。【参考方案3】:不幸的是,我认为目前不可行(通过查看给定的 API)。虽然我确实相信佳能拥有 API,但出于某种原因没有发布它。
顺便说一句,我见过人们抓取实时取景帧并将其制作成视频的案例。
【讨论】:
以上是关于如何通过 SDK 在佳能相机上开始/停止视频录制?的主要内容,如果未能解决你的问题,请参考以下文章