forked from hasegaw/IkaLog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
IkaConfig.py.sample
111 lines (89 loc) · 4.08 KB
/
IkaConfig.py.sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/usr/local/bin/python3
# -*- coding: utf-8 -*-
#
# IkaLog
# ======
# Copyright (C) 2015 Takeshi HASEGAWA
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
from ikalog import inputs
from ikalog import outputs
from ikalog.utils import IkaUtils
class IkaConfig:
def config(self):
if IkaUtils.isOSX():
source = inputs.AVFoundationCapture()
else:
source = inputs.CVCapture()
# 使いたい入力を選択
source.start_camera(0) # キャプチャデバイスから
# source.start_recorded_file('video.avi') # ファイルからの読み込み
source.need_resize = True # 720p でない場合はリサイズさせる
# 一部のHDMIキャプチャはHDMIソースのピクセルがずれている。
# 必要に応じてキャプチャのオフセットを(x, y) 指定
# source.offset = (2, 0) # サンコー HDMVC4UC(左に2ドットずれ)
# 使いたいプラグインを適宜設定
OutputPlugins = [
# Screen: IkaLog 実行中にキャプチャ画像を表示します。
# wait_ms=1 キャプチャ画像表示後に停止するミリ秒数。 ただし0=2秒毎に1ms
# size=(1280, 720) ウインドウサイズ。
outputs.Screen(wait_ms=1, size=(1280, 720)),
# Console(): 各種メッセージを表示します。
outputs.Console(),
# IkaOutput_CSV: CSVログファイルを出力します。
outputs.CSV('ika.csv'),
# Fluentd: Fluentd にデータを投げます。
# outputs.Fluentd(
# host='127.0.0.1',
# port=24224,
# username='<8ヨ',
# tag='ikalog'
# ),
# Hue(host='192.168.0.1',user='newdeveloper'),
# JSON: JSONログファイルを出力します。
outputs.JSON('ika.json'),
# Screenshot: 戦績画面のスクリーンショットを保存します。
outputs.Screenshot('./screenshots/'),
# Slack: Slack 連携
# url="http://...." Slack の Inconming Web Hook URL
# username="botname" Slack 上に出す bot 名
# outputs.Slack(url='https://hooks.slack.com/services/(incoming hook endpoint)'),
# StatInk: stat.ink (スプラトゥーンプレイ実績投稿サイト)
# https://stat.ink/ でアカウント登録し API キーを取得してください
#
# outputs.StatInk(api_key='YOUR_API_KEY_HERE'),
# Twitter: Twitter 連携
# outputs.Twitter(
# 'ConsumerToken',
# 'ConsumerSecret',
# 'AccessToken',
# 'AccessTokenSecret',
# attach_image = False,
# footer = 'マンメンミ',
# tweet_kd = True,
# tweet_udemae = True
# ),
# 不具合調査向け。
# イベントトリガをコンソールに出力。イベントトリガ時のスクリーンショット保存
outputs.DebugLog(dir='./screenshots/', screenshot=False),
# 不具合調査向け。
# ウインドウに対して v キー押下でデバッグ録画を開始する
outputs.DebugVideoWriter(dir='./debug_videos/'),
# 入力ソース
source,
]
return [source, OutputPlugins]
if __name__ == "__main__":
obj = IkaConfig()
print(obj.config())