-
Notifications
You must be signed in to change notification settings - Fork 42
en_TestingYourCaptureDevice
IkaLog needs HDMI capture devices to handle Splatoon video in realtime. This article describes how to test your capture device as IkaLog input.
- This article does not apply to WinIkaLog (binary distribution).
See also:
DirectShow capture, built on Theodore Watson's videoInput code, is avaliable on Windows. It supports video capturing through DirectShow supported devices.
- Needs DirectShow driver for Capture Device that compatible with your Python binary.
- The DirectShow must be compatible with your python binary. If you are running 64bit version of Python.exe, your driver must be compatible with 64bit applications.
Tested with:
- BlackMagic Design Intensity Shuttle USB3.0
- SKNet MonsterX U3.0R
(Windows)
P:\IkaLog> SET PYTHONPATH=.
P:\IkaLog>python ikalog\inputs\win\directshow.py
***** VIDEOINPUT LIBRARY - 0.2000 - TFW2013 *****
0: b'FaceRig Virtual Camera'
1: b'7160 HD Capture'
2: b'7160 HD Capture (Path 1)'
3: b'MonsterX U3.0R Capture 0'
4: b'Blackmagic WDM Capture'
5: b'AmaRec Desktop Capture'
6: b'AmaRec Video Capture'
7: b'Decklink Video Capture'
8: b'Dxtory Video 1'
9: b'Dxtory Video 2'
10: b'Dxtory Video 3'
11: b'Dxtory Video 4'
Please input number (or name) of capture device: 7
<__main__.DirectShow object at 0x02AA0F70>: initalizing capture device 7
init_capture enter
SETUP: Setting up device 7
SETUP: Decklink Video Capture
SETUP: Couldn't find preview pin using SmartTee
SETUP: Default Format is set to 720 by 486
SETUP: trying requested format RGB24 @ 1280 by 720
SETUP: trying format RGB24 @ 1280 by 720
SETUP: trying format RGB32 @ 1280 by 720
SETUP: trying format RGB555 @ 1280 by 720
SETUP: trying format RGB565 @ 1280 by 720
SETUP: trying format YUY2 @ 1280 by 720
SETUP: trying format YVYU @ 1280 by 720
SETUP: trying format YUYV @ 1280 by 720
SETUP: trying format IYUV @ 1280 by 720
SETUP: trying format UYVY @ 1280 by 720
SETUP: Capture callback set
SETUP: Device is setup and ready to capture.
To configure the device in IkaConfig.py:
INPUT_SOURCE = 'DirectShow'
INPUT_ARGS['DirectShow'] = {'device': 7}
AVFoudationCapture is available for MacOS X environment. This captures video through AVFoundation framework.
Tested with:
- BlackMagic Design UltraMini Studio Recorder
- BlackMagic Design UltraMini Intensity Shuttle (USB3.0 Version)
Procedure:
- Power Wii U and make sure HDMI out is active.
- Configure WiiU to output 720p (1280x720).
- Connect your Capture Device to Wii U.
- Connect the device to your Mac.
- Follow the instructions below.
$ cd IkaLog/
$ export PYTHONPATH=.
$ python3 ikalog/inputs/osx/avfoundation_capture.py
2015-10-22 16:56:05.402 Python[4652:460945] Device[0]: FaceTime HD Camera
2015-10-22 16:56:05.402 Python[4652:460945] Device[1]: Blackmagic UltraStudio Mini Recorder
Please input number of capture device: 1 *(Type the device number)*
<__main__.AVFoundationCapture object at 0x10f0b4b38>: initializing capture device 1
2015-10-22 16:56:12.291 Python[4652:460945] Seleted capture device: Blackmagic UltraStudio Mini Recorder | uniqueID:(snip) | modelID:UltraStudio Mini Recorder
*(Preview window should show up)*
To configure the device in IkaConfig.py:
INPUT_SOURCE = 'AVFoundationCapture'
INPUT_ARGS['AVFoundationCapture'] = {'device': 1}
To configure BMD decklink device in IkaConfig.py:
INPUT_SOURCE = 'GStreamer'
INPUT_ARGS['GStreamer'] = {'source': 'videotestsrc ! videoconvert ! appsink'}vice-number=0 ! videoconvert ! appsink")
CVCapture is typical video capture method based on OpenCV VideoCapture feature. Since the capture method has some limitations, it is going to be altered with DirectShow and AVFoundationCapture.
- Needs DirectShow driver for Capture Device that compatible with your Python binary.
- The DirectShow must be compatible with your python binary. If you are running 64bit version of Python.exe, your driver must be compatible with 64bit applications.
- We found OpenCV VideoCapture feature is incompatible with some drivers. It means CVCapture cannot handle all of video capture devices.
Tested with:
- AVerMedia AVT-C825 (needs StreamEngine software)
(Windows)
> SET PYTHONPATH=.
> python3 ikalog/inputs/opencv_videocapture.py
(MacOS X)
dhcp44-82:IkaLog hasegaw$ export PYTHONPATH=.
dhcp44-82:IkaLog hasegaw$ python3 ikalog/inputs/opencv_videocapture.py
0: Input source 1 *(Windows only - You should see list of capture devices here)*
1: Input source 2
2: Input source 3
3: Input source 4
4: Input source 5
5: Input source 6
6: Input source 7
7: Input source 8
8: Input source 9
9: Input source 10
Please input number (or name) of capture device: 0
<__main__.CVCapture object at 0x10e588518>: initalizing capture device 0
*(Preview window should show up)*
To configure the device in IkaConfig.py:
source = inputs.CVCapture()
source.select_source(index=1) # Specify your device number