supplierdeeply

using chdkptp to stream video output

  • 3 Replies
  • 1948 Views
*

Offline axman

  • ***
  • 143
using chdkptp to stream video output
« on: 05 / February / 2016, 15:11:24 »
Advertisements
Hello,

I can stream video (viewfinder output) from the IXUS160.  Higher quality video is desired.  Looking at these Canon models:  G7x, G9x, SX60, and EOS M10.  I thought I read somewhere CHDK & chdkptp can be used to switch the camera to video record mode and have access to the image sensor's video output stream (not the viewfinder.)

I thought I understood that it is possible to capture the video stream from the image sensor, not the viewfinder, IF the camera supports taking a still image while video recording is active.  True?   If true, video output would be in what format? 

I searched the forum and read many posts but did not see..  Lots to read..  My target is something vaguely similar to this post http://chdk.setepontos.com/index.php?topic=11260.msg110484#msg110484  but I'm using Intel NUC, not an ARM board. 

I also reviewed the owner's manuals for the above Canon models.  If the required feature is "taking still image while video rec active", it's my impression that only the EOS M10 can do it.  If anyone knows offhand if this is true, I'd appreciate confirmation.  Sorry if links & info are redundant..  Grateful for any feedback, thanks.

edit: corrected double url brackets

  EOS M10 - supports lens swapping, supports taking still image while video active - Pg 59
http://gdlp01.c-wss.com/gds/3/0300020263/01/eosm10-cu-en.pdf
  G7x manual is missing the section on video,  but reviews of the cam indicate is is video-capable  ???

  G9X does not support still image capture while video is active
http://gdlp01.c-wss.com/gds/8/0300020268/01/psg9x-cu-en.pdf

  SX60 - supports hot shoe, does not support still image capture while video is active
http://gdlp01.c-wss.com/gds/3/0300016133/01/pssx60hs-cu-en.pdf

  EOS M  supports taking still image while video active Pg 184
http://gdlp01.c-wss.com/gds/8/0300008788/01/eosm-im-en.pdf
« Last Edit: 05 / February / 2016, 15:14:42 by axman »

*

Offline reyalp

  • ******
  • 11541
Re: using chdkptp to stream video output
« Reply #1 on: 05 / February / 2016, 16:15:52 »
I can stream video (viewfinder output) from the IXUS160.  Higher quality video is desired.  Looking at these Canon models:  G7x, G9x, SX60, and EOS M10.
Several important considerations:
The fact that a camera can record better quality video does not mean the chdkptp viewfinder output will be any better. The two are essentially unrelated.

All the cameras you mentioned Digic 6 cameras, and none are yet supported by CHDK. I'm working on the G7x, and some partial work as been done for SX60. I'm not aware of any work done on the others. Additionally, the display related framebuffers have changed significantly in Digic 6, so features that were standard on previous version of CHDK and chdkptp may not be immediately available. Currently a special hack is needed for live view on digic 6. I will work on getting this into the main chdkptp code after I have G7x to a point where I can work on this.

Related to the above post, Ant apparently has made a CHDK port for the EOS M3, but the AFAIK code has not been published so I can't comment on how complete it is, nor whether it will ever be officially supported. Also note that the original EOS M uses Canon's DSLR codebase, and so will never be supported by CHDK (IIRC, there is a magic lantern port). The EOS M3 uses the P&S codebase. I haven't seen confirmation that the M10 is also on the P&S codebase, but considering it's a budget follow-on to the M3, it seems likely.

Quote
I thought I read somewhere CHDK & chdkptp can be used to switch the camera to video record mode and have access to the image sensor's video output stream (not the viewfinder.)
This isn't really correct. The live view protocol only accesses the buffers used for the camera LCD. You can switch to video mode (which affects the resolution of the LCD buffer on some cameras), but this does not give you full quality video the camera records.

chdkptp live view is generally quite low resolution, usually 240 or 480 lines depending on the camera. It also suffers some other problems, due to the way it's hacked into the Canon code: It isn't synchronized with the cameras frame rate, it just gets whatever the current frame is when the client requests it. This results in unsteady frame rate, skipped or duplicated frames, and tearing.

Quote
I thought I understood that it is possible to capture the video stream from the image sensor, not the viewfinder, IF the camera supports taking a still image while video recording is active.  True?
This is not correct. I think you are mixing up CHDK PTP live view with the cameras standard (analog or HDMI) TV video out. On many recent cameras (especially low end ones), you can only use the video out in playback mode. On others, you can use it while shooting. On most (all?) you can only use the SD out while shooting, not the HDMI out. According the the G7x manual, it supports SD video out while shooting. This is described in the "Playback on a standard definition TV" section.

On a camera that supports video out while shooting, you can theoretically use an external video capture device connected to capture the video stream, it may be better in some ways than the chdkptp live view. However, on most recent cameras, the SD video out uses the same physical connector as the USB, so to use CHDKPTP at the same time, you must construct a splitter cable.

This is all unrelated to shooting stills while recording video.
Don't forget what the H stands for.

*

Offline axman

  • ***
  • 143
Re: using chdkptp to stream video output
« Reply #2 on: 08 / February / 2016, 11:01:05 »
Thanks for the detailed feedback and education.  I thought all cameras with DIGIC6 processor would share a similar camera operating system, but it's clearly not the case.  What I'm really after - and what I should have asked about more clearly - is SD/HD video out.  Thanks again for the info.

Quote
Quote
I thought I understood that it is possible to capture the video stream from the image sensor, not the viewfinder, IF the camera supports taking a still image while video recording is active.  True?

This is not correct. I think you are mixing up CHDK PTP live view with the cameras standard (analog or HDMI) TV video out. On many recent cameras (especially low end ones), you can only use the video out in playback mode. On others, you can use it while shooting. On most (all?) you can only use the SD out while shooting, not the HDMI out. According the the G7x manual, it supports SD video out while shooting. This is described in the "Playback on a standard definition TV" section.

On a camera that supports video out while shooting, you can theoretically use an external video capture device connected to capture the video stream, it may be better in some ways than the chdkptp live view. However, on most recent cameras, the SD video out uses the same physical connector as the USB, so to use CHDKPTP at the same time, you must construct a splitter cable.

This is all unrelated to shooting stills while recording video.

^This is precisely what I needed!!^  Thanks very much, it's what I was hoping for, what I was truly asking about, but I did not ask clearly.  Apologies for that, and very much appreciate the time you spent to explain.  SD video out will be good enough.  I've done that kind of thing before, using a USB tv tuner device (Hauppauge).  Splitter cable!!  Sweet!!

*

Offline reyalp

  • ******
  • 11541
Re: using chdkptp to stream video output
« Reply #3 on: 08 / February / 2016, 13:30:25 »
I thought all cameras with DIGIC6 processor would share a similar camera operating system, but it's clearly not the case.
Each CHDK port involves finding hundreds of functions, addresses and other values that are specific to each camera.  Each Canon release cycle tends to have a new operating system rev which changes behavior a bit,  but this is usually not a huge issue.

Digic 6 uses a new CPU architecture with a different instruction set, where all the previous Digic versions were pretty much the same from a CHDK POV. The display system has also changed significantly.

For the older cameras, philmoz wrote automated tools that identified most of the required values. I have been making good progress on similar tools for new instruction set (http://chdk.setepontos.com/index.php?topic=12714.10), but even with those tools finished a significant amount of work will be required for each port.

Quote
^This is precisely what I needed!!^  Thanks very much, it's what I was hoping for, what I was truly asking about, but I did not ask clearly.  Apologies for that, and very much appreciate the time you spent to explain.  SD video out will be good enough.  I've done that kind of thing before, using a USB tv tuner device (Hauppauge).  Splitter cable!!  Sweet!!
If you are looking for cameras that support this, download the manual and find the TV display section. If supported, there will be a section that says something like "When the camera and TV are connected, you also shoot while previewing shots on the larger screen of the TV" . If it's not supported, shooting just wont be mentioned in the TV display section. For the last several years, most of the cheapest models have not supported shooting with TV display.
Don't forget what the H stands for.


 

Related Topics