何もない空虚

動画を作っていたりいなかったり

いろはす 炭酸水の日。 

こんにちは、午後15時20分、今日は良い天気です。
さっき仕事でちょっとした不具合が発生したんですが、今日はそれについて書こうと思います。

ということで昨日に引き続きC#のお話です。

今の現場では、特殊なLinuxサーバにSSHを行ってゴニョゴニョするアプリの開発に携わることが多いです。
また、そのサーバ機の中身(ソフトウェア・ハードウェア問わず)が結構な頻度でアップデートされまして、なかなか対応に追われています。

で、今回は案の定SSHで不具合が起きたんですが。

C#にてSSHを行う場合、今まではSharpSSHというライブラリを使用していました。
これ

結構使いやすいですし、日本語の情報もネットに多いので初心者にはオススメです。
が、大きな問題が一つありまして、開発が2007年で終わっているので、新しいモノには対応できないのです。

案の定今回は新しいソフトウェアを持ったサーバに対してConnect()した時に例外を吐くようになっていました。
# 色んなサイトで「このライブラリは開発2007年で終わってるから他の使ったほうが良いよ!」と書かれていたんですが…。

して、動かないものはしょうがないので別のライブラリを使うことにしました。
今回自分が使用したライブラリはSSH.NET Libraryというやつです。
これ

比較的新しいライブラリで、どのサイトを見ても推奨されていたので使用してみました。
ただ一つ問題を上げるとするならば、日本語のドキュメントがかなり少ないという…前回選ばなかった理由はこれでした。

ただ、実際にコーディングしてみると、思っていた以上にすんなり書けてすんなり動いたので良かったです、食わず嫌いはやっぱり良くないですね。
今回も備忘録がてら、以下ソースコードです。

##############################################################################

PasswordAuthenticationMethod pauth = new PasswordAuthenticationMethod(user, password);

ConnectionInfo connectionInfo = new ConnectionInfo(host, 22, user, pauth);

SshClient sshClient = new SshClient(connectionInfo);

sshClient.Connect();

ShellStream shellStream = sshClient.CreateShellStream(string.Empty, 80, 24, 800, 600, 1024);

StreamReader streamReader = new StreamReader(shellStream);
StreamWriter streamWriter = new StreamWriter(shellStream);

streamWriter.AutoFlush = true;

while (shellStream.Length == 0)
{
Thread.Sleep(500);
}

streamReader.ReadToEnd();

streamWriter.WriteLine("pwd");

while (shellStream.Length == 0)
{
Thread.Sleep(500);
}

Console.WriteLine(streamReader.ReadToEnd());

shellStream.Dispose();

sshClient.Disconnect();
sshClient.Dispose();

##############################################################################

例によって適当なソースなので、適宜修正して頂ければと。
trackback: -- | コメント: -- | edit

いろはす 炭酸水の日。 

こんにちは、前回に引き続き正午前です。
昨日夜に家で動画を作っているとめちゃくちゃ寒かったんですが、今朝外に出ると雪が積もってました、通りで。

今日はC#の話。

というのも、現場で他のアプリを自動的に操作するアプリの開発を依頼されていまして。
ネット上で色々調べたんですが、如何せん解りやすい情報が記載されていませんでした。

なので備忘録がてら。
あんまり詳しいことは調べていないんですが、動作は確認できたので、参考程度にして頂けると幸いです。

まず、他のアプリの内部情報を解析する必要があるのですが。
使用したソフトは以下の通りです。
・Winspector Spy
・WinID

実際にはWinspector Spyだけで大丈夫ですが、自分の環境では実行中にPCのレスポンスが結構落ちたので。
逆にWinIDだけでは自作のフォームに対応しきれていなかったので非推奨です。
# これで詰まって半日潰しました…。

使い分けとしては、
・Winspector Spy
 ⇒Class名やTitle名(Window名)・親子関係をしっかり調べれる。
・WinID
 ⇒デバッグ時の確認に軽く使う。
みたいな感じになると思います。

で、実際のコーディングですが。

今開発しているアプリでは以下のメソッドのみ使用しています。
・IntPtr FindWindow(string lpClassName, string lpWindowName);
・IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
・Int32 PostMessage(IntPtr hWnd, int msg, int wParam, int lParam);
・IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, int wParam, StringBuilder lParam);

上記共にuser32.dllをインポートして呼び出します。
詳しいことは他のサイト様にて詳しく書かれてますので、ここでは省略します。

後は定数ですが、現時点では以下だけ使用しています。
uint WM_SETTEXT = 0x000C;
int WM_LBUTTONDOWN = 0x201;
int WM_LBUTTONUP = 0x202;

定数名を読んで字の如く、テキストをセットしたり、左クリックとかに対応する数値ですね。
これも意外と日本語の情報が少なくて苦戦しました。

後はもうゴリゴリ書いていくだけなんですが、基本的には以下のフローになってます。
1. FindWindowを呼び出す。
2. FindWindowExを呼び出す。
3. PostMessageなりSendMessageなりを呼び出す。
4. 1.に戻る。

少しだけ説明を加えると。
1. FindWindowを呼び出す。
 ⇒ウィンドウやポップアップを指定する。
2. FindWindowExを呼び出す。
 ⇒ボタンやコンボボックスを指定する。
  場合によっては繰り返し呼び出し、操作したいターゲットまで狭めていく。
3. PostMessageなりSendMessageなりを呼び出す。
 ⇒FindWindowExによって指定したターゲットに対し操作する。
といった感じです。

自分の実際のコーディングの一部はこんな感じです。

#####################################################################################

hWnd = FindWindow("hogeClass", "hogeTile");

hWnd = FindWindowEx(hWnd, IntPtr.Zero, "ComboBoxEx32", null);
# たまたまタイトル名が空だった。

hWnd = FindWindowEx(hWnd, IntPtr.Zero, "ComboBox", null);
# たまたまタイトル名が空だった。

hWnd = FindWindowEx(hWnd, IntPtr.Zero, "Edit", null);
# たまたまタイトル名が空だった。

StringBuilder parameter = new StringBuilder("huga.log");
SendMessage(hWnd, WM_SETTEXT, 0, parameter);
# 今回はEditというクラス名を持つテキストボックスに文字列"huga.log"を設定している。

hWnd = FindWindow("hogeClass", "hogeTile");
# 再度親に設定している。

#####################################################################################

実際には親ウィンドウをアクティブにしたりする必要がありますが、ここでは省略しています。

大体こんな感じかと思います。
trackback: -- | コメント: -- | edit

温かい しょうがのど飴の日 

こんにちは、正午前です。
正午 前なんですけど、正午前って書くと正午 前なのか正 午前なのかよくわからないですね。
正 午前が何かもよくわからないですが。

私事で恐縮ですが、会社のPCに入っているVisualStudio2013が落ちまくって作業にならないのでアンインストールしています。
今日はこれで一日終わりそうですね…。

今日はクリエイターの話です。

今まで結構な人数のクリエイターと関わってきたのですが、趣味の範囲だとみんなあまりマーケティングをしない印象があります。

例えば、去年はこんな記事が出ていました。
ニコニコ動画の衰退が止まらない…わずか1年で全体の動画再生回数が半減

去年の記事なんで今はどうかわからないんですけど、多分それ以上に下がっているような気がします。
衰退している理由は、運営がアレだったりユーザがアレだったり投稿側がアレだったりと、言い出したらキリがなさそうですが。

これが何を表すかと言うと、要するに今ニコニコに動画を上げても、再生数は半分になっちゃうよ?ということです。
多分実際にはそんな極端な話ではないと思いますが、少なくとも今まで以上に再生数が伸びることは困難になっているのは間違いないかと。

で、ニコニコの再生数が下がっているからといって、ユーザたちが動画を見なくなりつつあるのかというと、多分そうなんだと思います。
特に初音ミクといったキラーコンテンツが死んでしまった今、元々初音ミクが流行ったから動画を見始めた層は、動画自体を見なくなっているのかなと。

ちょっと話はずれますが、自分は動画の再生数とか、そういうものはゴミほどどうでも良いと思っています。
でもこの考え方って、ほぼ誰にも共感されないですし、『何綺麗事言っちゃってんの?』と思われてるのかなーとも思います。

じゃあ一般的なクリエイターはどう考えているかと言うと、「再生数!人気!知名度!金!」を大なり小なり欲しています。

そこで言いたいのが、欲するのは普通のことですし、結構なんですが、それを実現するためのマーケティングをちゃんと行っているのかな…?と。

多分多くのクリエイターは、『今までニコニコに上げてきたんだから、今回も何となくニコニコに上げようかな』と無意識に考えていると思います。

上に書いた通り、ニコニコを見る人はどんどん減っています。
恐らくユーザ層もかなり低年齢化していると思いますが、果たしてそこをターゲットにし続けて良いのかな…と。

ボカロであればニコニコに上げて然るべきみたいな頭の固い団塊の世代みたいな考え方はさっさと捨てるべきです。

こういう書き方をすると『ニコニコじゃダメなのか、じゃあYouTubeに上げれば良いや』と安易に考える馬鹿も多い気がします。
別にYouTubeに上げるのは結構ですが、YouTubeを選んだ根拠をちゃんと持っているのか?と問いただしたくなります。

『マーケティングなんてくそ面倒くさいよ!』と考える人も多いでしょうが、別に自分でやる必要なんて全く無いと思います。
ボカロPが動画を上げる時、絵師にイラストを頼み動画師に動画を頼むように、マーケティングをしてくれる人に過去・現在・未来の状況をしっかりを教えてもらえば済む話だと思います。

逆に餅は餅屋が出来ない人は、多分何も考えれない人なんじゃないかなとさえ思います。

マーケティングも何もしないまま「再生数が伸びない!」と嘆いている人を見ると『あたりめーだろ!』と突っ込みたくなります。
ネットの世界は広いわけで、ニコニコに固執する理由がどこにあるのかなーと。

もっと言うと、世の中にはまだまだ色んな手段手法があるはずなのに、何で誰も考えないのかなーと。

ボカロがほぼ終わりつつある今、ボカロクリエイターに求められているのは、クオリティより先に柔軟性なんじゃないかなーと何年も思っています。
trackback: -- | コメント: -- | edit

アップル100%の日 

こんにちは、午後2時。
うちの会社がなかなか住民税を普通徴収から特別徴収に切り替えてくれません、適当過ぎる。

今回も動画の話です、ボカロブームが終わったので色々書いても時効かなと…。

ボカロPVにおける動画師と絵師の関係って、結構微妙です。

ボカロ最盛期では、結構な人数が動画師を名乗っていました。
今は最盛期の1/10くらいになってるんじゃないですかね、あくまで個人的な感触ですが。

んで、ボカロ初期から動画師として名乗っていた自分としては、趣味で動画を作る人が多いのは非常に複雑な心境でした。

というのも、嬉しい心境は言わずもがなだとは思うんですけど、その半面、動画としてのクオリティが物凄く低いボカロPV(PVと書くのも憚られますが)が山のように投稿されました。
# それこそ今でさえ趣味でしか動画を作っていない自分がクオリティが低い等と言って良いものかと思いますが、まぁとにかくひどかったのです。

例えばsupercellとかが代表的で、ブラック★ロックシューターはともかく、他の動画は動画としてのクオリティはほぼ0です。
要するに、イラストのクオリティでゴリ押す風潮が出来上がっちゃったんですよね。

そうするとどうなるか、supercellほどのイラストのクオリティは望めない動画師たちは、歌詞をでっかく派手に動かして動画としての見栄えを取り繕う!という流れが出来上がっちゃいました。
三重の人のPVなんかはその典型だと思います、あの方はエフェクトも加えてますが。

所謂キネティック・タイポグラフィというやつですが、これがボカロのファン層の中二心をくすぐって爆発的に流行りました。

実はこのタイポの表現、誰も損をしないというのが一つ大きいポイントです。

・ボカロP→動画が素早く出来上がるし動きもあるし派手で良い。
・作詞家→歌詞がでっかく表示されて良い。
・絵師→アニメーション作らなくて良いから楽、枚数も極端な話1枚で良い。
・動画師→とにかく楽、歌詞を流すだけで良い。
・見る側→派手で楽しいから良い。

一見誰も損をしないように見えますが、本当に極々一部ではタイポは忌み嫌われていました。
というか自分です、恐らく自分だけ。

何故かと言うと、あらゆる人が「ボカロPV=タイポ」という印象を持ってしまうからです。
個人的にはボカロ衰退の一因にタイポが流行ったことは大きく関わっていると思います。

別にタイポが悪いわけではないんですよ?ただ、この表現法は凄く繊細に扱わないとダメだと個人的には思います。

話を戻しまして。

タイポが流行った後、あらゆる人の中に「ボカロPV=タイポ」という印象が植え付けられた後、ボカロブームが終焉しました。
終焉した中で、まだボカロPVを作っている自分ですが、未だに絵師にイラストを依頼しようとすると「2, 3枚描けば良いですよね?」って返されるのが凄く辛いです。

要するに、ボカロPVに限らず、クオリティの高いPVを作ろうと考えてくれる絵師ってほぼ存在しないんですよね。
自分はフルアニメーションのPVを作りたい!等とはあまり考えておらず、古き好きフラッシュの表現を取り入れた動きのある動画を作りたいな―と昔から考えていますが。

それさえも叶わない今日この頃、「動画」を共に作ってくれるクリエイター、どこかにいないかなー。
trackback: -- | コメント: -- | edit

三ツ矢 梅 咲の日 

こんにちは、正午過ぎ、今日も比較的暖かいですね。
最近は夜遅くまで動画を作っているのでポカポカ陽気が眠気を誘ってきます…流石に寝ないですが。

そういえば前の会社では仕事中にちょくちょく堂々と寝ている先輩がいたことを思い出しました。
仲が良い先輩だったので、飲みの席で「仕事中に寝ていて大丈夫なんですか?」と聞いたところ「暖かいから仕方ない」と開き直られたことを覚えています、先輩、それ社会人としてかなり低いレベルでダメだと思います。

依頼の話。

昨日一本ボカロPVを作り上げまして、ボカロPに渡したところ「作詞の方に動画を確認してもらいますね」と返答が来ました。
世間一般的にはどうってことないやり取りだと思いますが、個人的にはちょっと引っかかります。

というのも、多分このニュアンスって「音楽サイドで動画に気になる点があったら後で言いますね」って意味合いを含んでいるんですよね。

ボカロの依頼上のやり取りでは、音楽サイドが作った曲に動画サイドは何も意見をしてはいけないけれど、動画サイドが作った動画に音楽サイドは口出し出来るという暗黙のルールがあったりします。(自分のとこだけかもですが)
年齢的なものであったり、立場的なものであったり、そこら辺が起因しているとは思います。

でもでもよくよく考えずとも、別にボカロPが一番偉いわけでもなく、音楽サイドの方が立場が上なわけでもないので、動画サイドが作った動画をボカロPはそのまま投稿することが当たり前な気がします。(ボカロPが投稿するのが当たり前という風潮もどうかとは思いますが)

とはいえ、動画に異常がないかとか、思慮に欠けた表現が含まれていないか等を他の方に確認してもらうという意味合いでは、「確認する」という表現でも何もおかしくはありません。

音楽サイドの方は、ぜひ動画サイドとの距離感や立場を誤らず認識してもらいたいなーと思います。
trackback: -- | コメント: -- | edit

カルピスソーダの日 

こんにちは、午前10時半、例に漏れず職場から更新です。
ぼちぼち冬も終わりそうですね、ほんと少しずつですが、暖かくなってきてありがたい限りです。

理容室の話なんですが、ちょっと愚痴っぽい内容です。

今現在埼玉県の和光市というところに住んでいて、もう1年4ヶ月くらいになります。
ぼちぼち栄えていて、静かな街で住みやすく、居酒屋が多くて良い街です。

がしかして、一つ結構な不満ポイントがありまして。
理容室の話って書いてる通り、和光にはまともな理容室がないのです、致命的。

そもそも自分、普段は月に1回は髪を切りたいタイプなんですが、和光に引っ越してきて2ヶ月に1回、3ヶ月に1回と少しずつ切る頻度が減ってきました。
理由は言わずもがな、切られると悲惨な髪型にされるからです。

そもそも理容室ってそんなにコロコロ替えるものではないと思うんですが、もう既に3店替えました。
で、昨日も初めてのところに行ったんですが、正直腕が良くなかったんですよね…。

和光の前は東京の大森というところに住んでいたんですが、ここの理容師は物凄い腕が良く、余計に比較せざるを得ないのが…。
(値段も結構しましたが。)

飯屋の評価は食べログなり何なりですぐ見れますが、理容室の評価って調べても出ないんですよね。
なのでちょっと性格は悪いですが、今回は名指しでされたことを書いておこうと思います。
-- 続きを読む --
trackback: -- | コメント: -- | edit