2020/06/01(月) [n年前の日記]
#1 [enve2d][cg_tools] enve 5_29_20 を試用
アニメ制作ソフト enve の 5_29_20版が公開されていたようなので、Windows10 x64 1909上で試用してみたり。enve_setup_5_29_20.exe をDLして実行すると、以前の版(5_18_20版)がインストールされているフォルダに上書きされた。
enve 5_23_20 は、ラスターレイヤーに一切ブラシ描画ができなかったけど、5_29_20版はブラシ描画ができる状態になっていた。バグ修正されたっぽい。
機能追加としては、カラー化エフェクトや、露出・コントラスト調整エフェクトが追加されたっぽい。変更点は以下にまとまってる模様。
_Comparing continuous-windows...master - MaurycyLiebner/enve
enve 5_23_20 は、ラスターレイヤーに一切ブラシ描画ができなかったけど、5_29_20版はブラシ描画ができる状態になっていた。バグ修正されたっぽい。
機能追加としては、カラー化エフェクトや、露出・コントラスト調整エフェクトが追加されたっぽい。変更点は以下にまとまってる模様。
_Comparing continuous-windows...master - MaurycyLiebner/enve
◎ 影の乗せ方について。 :
以前、ペンツールを使って描いたベクターレイヤー上で、影を乗せる方法が分からなかったのだけど。試してたら、Synfig Studio と似たような感覚で影を乗せる方法が分かった。
レイヤーの合成モードについては、おそらく以下が参考になりそう。ちょっと分かりづらいけど…。
_Duff-Porter Alpha Composition Methods - Compose - IM v6 Examples
- グループ化(パスを複数選択してCtrl+G)して、
- そのグループをレイヤー化(グループ上で右クリックして「Promote to Layer」を選択)
レイヤーの合成モードについては、おそらく以下が参考になりそう。ちょっと分かりづらいけど…。
_Duff-Porter Alpha Composition Methods - Compose - IM v6 Examples
[ ツッコむ ]
2020/06/02(火) [n年前の日記]
#1 [cg_tools] Enve 6_1_20を試用
アニメ制作ソフト Enve 6_1_20版が公開されてたので、Windows10 x64 1909上で試用。
今回も、ラスターレイヤー(ビットマップレイヤー)に描画はできた。とメモ。
今回も、ラスターレイヤー(ビットマップレイヤー)に描画はできた。とメモ。
[ ツッコむ ]
2020/06/03(水) [n年前の日記]
#1 [pc] pngのフォーマットについて調べてたり
某3Dゲームは、キャラクターカードと呼ばれるpng画像に、キャラクターの構成情報が内包されているのだけど。どんな感じにデータが保存されているのか、せめてキャラ名だけでも取り出せないものかと気になったので、件のpng画像をバイナリエディタで開いて眺めてみたりして。
png画像フォーマットは、チャンクと呼ばれる単位で中身が分かれているので、キャラの構成情報は何かしらのチャンクに含まれているのではないか、と予想したのだけど…。
_PNG ファイルフォーマット
某ゲームの場合、どうやら、png画像の終端を示す _IEND の直後に、構成情報をくっつけて保存してある状態らしいなと…。
ただ、中身はおそらくバイナリデータっぽい気配が…。一応、データ種類を示すヘッダ文字列は見て取れるけど、その後に続くデータの意味がさっぱり不明。どこにキャラ名文字列が入っているのかも分からない。
キャラの構成を微妙に変えて保存して、保存されたpngのバイナリの違いを調べていけば、どこに何の情報が入ってるかぐらいは分かるのだろうけど、そこまでやるのも面倒だなと。とりあえず、png画像の終端に、ゲーム用のデータがくっついてる、と分かっただけでも良しとしよう…。
png画像フォーマットは、チャンクと呼ばれる単位で中身が分かれているので、キャラの構成情報は何かしらのチャンクに含まれているのではないか、と予想したのだけど…。
_PNG ファイルフォーマット
某ゲームの場合、どうやら、png画像の終端を示す _IEND の直後に、構成情報をくっつけて保存してある状態らしいなと…。
ただ、中身はおそらくバイナリデータっぽい気配が…。一応、データ種類を示すヘッダ文字列は見て取れるけど、その後に続くデータの意味がさっぱり不明。どこにキャラ名文字列が入っているのかも分からない。
キャラの構成を微妙に変えて保存して、保存されたpngのバイナリの違いを調べていけば、どこに何の情報が入ってるかぐらいは分かるのだろうけど、そこまでやるのも面倒だなと。とりあえず、png画像の終端に、ゲーム用のデータがくっついてる、と分かっただけでも良しとしよう…。
[ ツッコむ ]
2020/06/04(木) [n年前の日記]
#1 [pc] PCパーツの配置について検討中
ちゃんと動作するCPUとMicroATX M/Bが箱の中に入りっぱなしなのはなんだかもったいないなと思えてきて、どうにか1台組めないものかと。しかしわざわざPCケースを新規購入して入れるほどのスペックでもないし…。MDF板にでも貼り付けて組んでしまうのはどうだろう。ということで、Google SketchUp で各PCパーツの大きさで箱を作って配置を検討しているところ。
ダイソーで購入した、300x400mmのMDF板が部屋に転がっているので、その上に配置できないかと検討。M/BとSFX電源は置けるけど、3.5インチHDDがはみ出すなと…。冷却を考えなければ配置できなくもないけど、下手すると熱でHDDが壊れるし。実際、以前作った200円PCケースでは、古いIDE接続HDDを熱で壊してしまったこともあるわけで。そこそこの隙間を確保して、ファンの風が当たる状態にしておかないと…。300x600mmのMDF板ならなんとかなるのかな…。
そもそも木製のPCケースはちょっと怖いよな…。ずっと動かしてて、中で発火したら大変なことに…。だけど昔のブラウン管TVも木箱で作られてたっけ…。アレはどういう防火対策をしていたんだろう…。
ダイソーで購入した、300x400mmのMDF板が部屋に転がっているので、その上に配置できないかと検討。M/BとSFX電源は置けるけど、3.5インチHDDがはみ出すなと…。冷却を考えなければ配置できなくもないけど、下手すると熱でHDDが壊れるし。実際、以前作った200円PCケースでは、古いIDE接続HDDを熱で壊してしまったこともあるわけで。そこそこの隙間を確保して、ファンの風が当たる状態にしておかないと…。300x600mmのMDF板ならなんとかなるのかな…。
そもそも木製のPCケースはちょっと怖いよな…。ずっと動かしてて、中で発火したら大変なことに…。だけど昔のブラウン管TVも木箱で作られてたっけ…。アレはどういう防火対策をしていたんだろう…。
[ ツッコむ ]
2020/06/05(金) [n年前の日記]
#1 [nitijyou] 自宅サーバ止めてました
雷が鳴ったので、18:10-19:30の間、自宅サーバを止めてました。申し訳ないです。
かなり近くで雷が落ちたようでヒヤヒヤしました…。雷が鳴らなくなって安心してたら、20:00頃から竜巻注意報も。トホホ。
かなり近くで雷が落ちたようでヒヤヒヤしました…。雷が鳴らなくなって安心してたら、20:00頃から竜巻注意報も。トホホ。
[ ツッコむ ]
2020/06/06(土) [n年前の日記]
#1 [nitijyou] 某所に行ってきた
某所から、Windows XP上に登録されてるプリンタを削除したい、という相談があったので電動自転車で行ってきた。PM03:00-PM04:00まで作業、というか後ろからアドバイス。ちなみに Windows XP機はネットに接続されてない環境。
作業内容を忘れると困るので一応メモ。コントロールパネル → プリンタとFAX → 削除したいプリンタを右クリック → 削除。その後、プリンタとFAXのウインドウで、ファイル → サーバのプロパティ → ドライバ → 不要なプリンタドライバを選んで削除。本来、スタートボタン → すべてのプログラム → プリンタメーカ名 → プリンタ型番 → プリンタドライバの削除(or アンインストール)、という項目があればそちらを選んでドライバのアンインストールができるのだけど、残念ながら今回は、そういうショートカットは存在しなかった。
不要なプリンタは削除できたものの、しかし、業務に使ってるシステムが特定のプリンタ名を使うように設定されていたようで、削除してしまったプリンタ名を新規作成することになった。プリンタとFAX → プリンタドライバのインストール → ローカルプリンタを選択 → 現在使用中のネットワークプリンタのIPアドレスを示すポートを選択 → プリンタメーカ名と型番を選択、といった感じでプリンタを追加。LAN上のプリンタを使うのだから、それっぽい項目を選ぶものと思い込んでしまったけど、一旦ローカルプリンタを選択して、ポートの選択時にプリンタのソレを選ぶのだな…。
それとは別に、おそらくは Androidタブレットの電源が入らないという相談も受けたのだけど、メーカ名も型番も分からない謎個体で…。電源ボタンを長押ししても無反応。LEDすら光らない。もしやバッテリーが切れているだけだったりしないか、ひとまず一晩充電してみて電源が入るか確認してほしい、という話に。でも、YouTubeを見てたらいきなり電源が切れた、と言ってたから…。もしかして、ハードウェア的に壊れてるのではないか…。
作業内容を忘れると困るので一応メモ。コントロールパネル → プリンタとFAX → 削除したいプリンタを右クリック → 削除。その後、プリンタとFAXのウインドウで、ファイル → サーバのプロパティ → ドライバ → 不要なプリンタドライバを選んで削除。本来、スタートボタン → すべてのプログラム → プリンタメーカ名 → プリンタ型番 → プリンタドライバの削除(or アンインストール)、という項目があればそちらを選んでドライバのアンインストールができるのだけど、残念ながら今回は、そういうショートカットは存在しなかった。
不要なプリンタは削除できたものの、しかし、業務に使ってるシステムが特定のプリンタ名を使うように設定されていたようで、削除してしまったプリンタ名を新規作成することになった。プリンタとFAX → プリンタドライバのインストール → ローカルプリンタを選択 → 現在使用中のネットワークプリンタのIPアドレスを示すポートを選択 → プリンタメーカ名と型番を選択、といった感じでプリンタを追加。LAN上のプリンタを使うのだから、それっぽい項目を選ぶものと思い込んでしまったけど、一旦ローカルプリンタを選択して、ポートの選択時にプリンタのソレを選ぶのだな…。
それとは別に、おそらくは Androidタブレットの電源が入らないという相談も受けたのだけど、メーカ名も型番も分からない謎個体で…。電源ボタンを長押ししても無反応。LEDすら光らない。もしやバッテリーが切れているだけだったりしないか、ひとまず一晩充電してみて電源が入るか確認してほしい、という話に。でも、YouTubeを見てたらいきなり電源が切れた、と言ってたから…。もしかして、ハードウェア的に壊れてるのではないか…。
[ ツッコむ ]
2020/06/07(日) [n年前の日記]
#1 [blender] blender 2.83 LTSをインストール
blender 2.83 LTS が公開されてるというニュースを見かけたので、Windows10 x64 1909上にインストール。ちなみに、他のバージョンと共存させたいので毎回zip版をインストールしていたり。
まだ、起動確認しかしていない…。
まだ、起動確認しかしていない…。
[ ツッコむ ]
2020/06/08(月) [n年前の日記]
#1 [anime] 奥田誠治コンテが気になる
NHK総合で未来少年コナンが再放送されているので毎週視聴しているのだけど。三角塔からコナンが飛び降りる名シーンが奥田誠治さんのコンテ回だったので、なんだか驚いてしまった。てっきり、その手の名シーンのある回は宮崎コンテ回だろうと思い込んでたもので…。いや、もしかすると宮崎駿監督が結構描き直しちゃったりしてるのかもしれないけれど。
そういえば、「名探偵ホームズ」の奥田コンテ回を見た時も、「アレ? この回は…宮崎コンテ回?」と思った記憶もあって。各カットの構図や、映像化する際の処理が、宮崎アニメのソレっぽいというか。でも、宮崎駿監督が「ホームズ」から離れた後の時期に担当していた回だろうから、宮崎監督が描き直しちゃったりはしていないだろうと想像するわけで。
改めてググってみたら、高畑監督作品や世界名作劇場シリーズへの参加率が高い方だったのだな…。「ハイジ」の頃から参加してるし…。自分が、宮崎アニメっぽいと思うアレコレは、実は奥田コンテから発生しているソレだったりしないか…。
てな感じで、ちょっと気になり始めているところ。
去年の年末に、奥田さんの自伝的書籍も出ているそうで。気になる…。富野コンテをボロクソに叩いてるページもあるらしい。ますます気になる…。
そういえば、「名探偵ホームズ」の奥田コンテ回を見た時も、「アレ? この回は…宮崎コンテ回?」と思った記憶もあって。各カットの構図や、映像化する際の処理が、宮崎アニメのソレっぽいというか。でも、宮崎駿監督が「ホームズ」から離れた後の時期に担当していた回だろうから、宮崎監督が描き直しちゃったりはしていないだろうと想像するわけで。
改めてググってみたら、高畑監督作品や世界名作劇場シリーズへの参加率が高い方だったのだな…。「ハイジ」の頃から参加してるし…。自分が、宮崎アニメっぽいと思うアレコレは、実は奥田コンテから発生しているソレだったりしないか…。
てな感じで、ちょっと気になり始めているところ。
去年の年末に、奥田さんの自伝的書籍も出ているそうで。気になる…。富野コンテをボロクソに叩いてるページもあるらしい。ますます気になる…。
[ ツッコむ ]
2020/06/09(火) [n年前の日記]
#1 [zatta] 某ゲームを触ってる
某ゲームの親子付け操作仕様について確認というか勉強しているところ。
某ゲームは、キャラクターのポーズを、IK か FK でつけることができる。なので、IKの制御点をギミックアイテム(回転やピストン等)で動かしてやれば、独自アニメをしてるように見せかけることもできるはずで。でも、標準機能だけでは、そういうことはできない。キャラクターのIK(FK)制御点を親子付けの子として設定することができないから。しかし、キャラクターのIK(FK)制御点を、任意のアイテムの子として設定できるmodを導入すれば、そういうことができるようになる。ただ、操作仕様がよく分からない…。ということでそのあたり確認してみたりして。
親子付けを強化するmodは、どうやら2種類あるようで。Ctrl+Iで呼び出すソレと、Ctrl+Nで呼び出すソレ。作者も異なる模様。
それにしても、操作が分かりづらい…。
親子付け設定はどうしても操作使用が分かりづらくなる、というわけでもないのだろうとは思うのだけど。例えば、キャラクターの関節部分にアイテムを子として登録することで、キャラクターの動きに合わせてアイテムも位置が動く、という指定であれば、標準機能でも持っている ―― 親、子の順で複数選択して parentアイコンをクリックするだけの簡単操作で親子付けが指定できるわけで。つまり、やり方次第で操作は簡単になるはず…。
ただ、キャラクターのIK(FK)制御点は、オブジェクト一覧ウインドウには表示されないから、別途、どこが何に親子付けされているかを表示する必要があって、故に情報表示や操作仕様が複雑になってしまうのかなと…。
某ゲームは、キャラクターのポーズを、IK か FK でつけることができる。なので、IKの制御点をギミックアイテム(回転やピストン等)で動かしてやれば、独自アニメをしてるように見せかけることもできるはずで。でも、標準機能だけでは、そういうことはできない。キャラクターのIK(FK)制御点を親子付けの子として設定することができないから。しかし、キャラクターのIK(FK)制御点を、任意のアイテムの子として設定できるmodを導入すれば、そういうことができるようになる。ただ、操作仕様がよく分からない…。ということでそのあたり確認してみたりして。
親子付けを強化するmodは、どうやら2種類あるようで。Ctrl+Iで呼び出すソレと、Ctrl+Nで呼び出すソレ。作者も異なる模様。
それにしても、操作が分かりづらい…。
親子付け設定はどうしても操作使用が分かりづらくなる、というわけでもないのだろうとは思うのだけど。例えば、キャラクターの関節部分にアイテムを子として登録することで、キャラクターの動きに合わせてアイテムも位置が動く、という指定であれば、標準機能でも持っている ―― 親、子の順で複数選択して parentアイコンをクリックするだけの簡単操作で親子付けが指定できるわけで。つまり、やり方次第で操作は簡単になるはず…。
ただ、キャラクターのIK(FK)制御点は、オブジェクト一覧ウインドウには表示されないから、別途、どこが何に親子付けされているかを表示する必要があって、故に情報表示や操作仕様が複雑になってしまうのかなと…。
[ ツッコむ ]
2020/06/10(水) [n年前の日記]
#1 [nitijyou] 体調が悪い
朝から腹痛。一日中寝てた。
人工甘味料入りのジュースを飲み過ぎたのだろうか…。人工甘味料は、取り過ぎるとお腹を壊すし…。
人工甘味料入りのジュースを飲み過ぎたのだろうか…。人工甘味料は、取り過ぎるとお腹を壊すし…。
[ ツッコむ ]
2020/06/11(木) [n年前の日記]
#1 [enve2d][cg_tools][anime] enve 6_9_20版を試用中
アニメ制作ソフト enve 6_9_20版を、Windows10 x64 1909上で試用中。
せっかくだから何か制作事例をまとめておこうか、と思ってスクリーンショットを撮り始めたものの、パスの編集操作のあたりで悩んでしまったり。動画でキャプチャしたほうが分かり易い気もする…。
せっかくだから何か制作事例をまとめておこうか、と思ってスクリーンショットを撮り始めたものの、パスの編集操作のあたりで悩んでしまったり。動画でキャプチャしたほうが分かり易い気もする…。
[ ツッコむ ]
2020/06/12(金) [n年前の日記]
#1 [enve2d][anime][cg_tools] YouTubeは動画の長さに制限があったのだな
enve を操作する様子を動画でキャプチャして、18分ほどの動画を YouTube にアップロードしようとしたら、「長いからアップロードできないよ」と拒否されてしまった…。YouTube って15分より長い動画はアップロードできない仕様だったのだな…。
制限を解除する方法もあるらしいけど、電話での自動応答か、SMSが必要らしい。スマホを持ってない自分は試せない…。
OpenShot という動画編集ソフトを使えば一部分だけ早送り再生した動画を作れるという話を見かけて、OpenShot 2.5.1 x64 Windows版をインストールしてみたものの、作業してみると短くできそうな部分がそれほど無くて。
いっそ2分割してしまおうか…。いや、背景を描いたりイージングをさせてる部分を別にしてキャプチャし直したほうがいいかな…。
制限を解除する方法もあるらしいけど、電話での自動応答か、SMSが必要らしい。スマホを持ってない自分は試せない…。
OpenShot という動画編集ソフトを使えば一部分だけ早送り再生した動画を作れるという話を見かけて、OpenShot 2.5.1 x64 Windows版をインストールしてみたものの、作業してみると短くできそうな部分がそれほど無くて。
いっそ2分割してしまおうか…。いや、背景を描いたりイージングをさせてる部分を別にしてキャプチャし直したほうがいいかな…。
◎ Waterfoxでアクセスしようとすると拒否されてしまう。 :
自分は普段 Waterfox というブラウザを使っているのだけど、YouTube に動画をアップロードしようとした際に「ブラウザのバージョンが古い」と言われて拒否されてしまった…。まあ、Google傘下のサービスだから、Google Chrome を使えということなのかな…。
[ ツッコむ ]
#2 [movie] 「名探偵ピカチュウ」を視聴
地上波放送されてたソレを録画していたので視聴。ちなみに自分、ポケモンシリーズは未プレイ。
スゴイな…。今のCGってここまで作れるのか…。話もちゃんとそれなりに面白い…。素晴らしい。
ゲームを原作とした映像化作品って大体は上手くいかない印象があったけど、スタッフ次第なのだな…。
スゴイな…。今のCGってここまで作れるのか…。話もちゃんとそれなりに面白い…。素晴らしい。
ゲームを原作とした映像化作品って大体は上手くいかない印象があったけど、スタッフ次第なのだな…。
[ ツッコむ ]
2020/06/13(土) [n年前の日記]
#1 [enve2d][cg_tools][anime] enveでパスアニメーションを作成する手順を動画でアップロードしてみた
アニメ制作ソフト enve 6_12_20 + Windows10 x64 1909の環境で、パスの変形アニメーションを作成する様子を動画キャプチャして YouTube にアップロードしてみたり。10分 + 7分の動画だけど、眺めればどんな感じで作業できるのかが分かるのではないかな…と。
以下について、手順を紹介している。
結果的に、こんな感じのアニメが作れる。
enve は、御覧の通り、ベクターデータで形状を描いても、ストローク(線部分)をビットマップブラシで描くことができるので、そのあたりを上手に使いこなせたら、そこそこアナログ感があるアニメも作れるのではないかなあ、と。
以下について、手順を紹介している。
- Part1 : ベクターデータでの描き方、簡単なパス変形アニメーション、mp4動画としてレンダリング・エクスポートする手順。
- Part2 : イージング(動きの緩急)を追加。
結果的に、こんな感じのアニメが作れる。
enve は、御覧の通り、ベクターデータで形状を描いても、ストローク(線部分)をビットマップブラシで描くことができるので、そのあたりを上手に使いこなせたら、そこそこアナログ感があるアニメも作れるのではないかなあ、と。
[ ツッコむ ]
#2 [moho] Moho Pro 13を購入した
ソースネクストが、アニメ制作ソフト Moho Pro 13 の取り扱いを始めたようで、今なら税抜き5,980円で購入できる模様。
自分は以前、ソースネクストから Moho Pro 12 を購入していたので、「今なら税抜き4,480円で買えるよ」「6/15までの期間限定だよ」てなメールが届いて。せっかくだからと購入してみたり。
購入後にググっていて知ったけど、何故か1,980円で買える販売ページも存在しているらしい…。どういうことなの…。ソレって何か条件でもあるの…。もし、その値段で買えるなら…失敗した…。でもまあ、本家の公式サイトで買うと 43,000円ぐらいするので、ソレと比べたらコレでもまだ全然お得に買えたほうではあるよな、などと自分を慰めてみたり…。
とりあえず、Windows10 x64 1909上にインストールしてみたけれど、フツーに起動して動いてくれた。
Moho 13 の新機能としては、ビットマップ描画関係が強化された点と、3Dモデルデータの扱いが強化されたあたりが大きな変更点かなと…。Moho 13 は、色んなビットマップ描画用のブラシが追加されたようで、一々外部のビットマップ編集ツールに戻らなくても、Moho上だけでビットマップデータにガリガリと描けるようになった模様。
さておき、すっかり操作方法を忘れてる…。こんなに使いづらいUIだったっけか…。
自分は以前、ソースネクストから Moho Pro 12 を購入していたので、「今なら税抜き4,480円で買えるよ」「6/15までの期間限定だよ」てなメールが届いて。せっかくだからと購入してみたり。
購入後にググっていて知ったけど、何故か1,980円で買える販売ページも存在しているらしい…。どういうことなの…。ソレって何か条件でもあるの…。もし、その値段で買えるなら…失敗した…。でもまあ、本家の公式サイトで買うと 43,000円ぐらいするので、ソレと比べたらコレでもまだ全然お得に買えたほうではあるよな、などと自分を慰めてみたり…。
とりあえず、Windows10 x64 1909上にインストールしてみたけれど、フツーに起動して動いてくれた。
Moho 13 の新機能としては、ビットマップ描画関係が強化された点と、3Dモデルデータの扱いが強化されたあたりが大きな変更点かなと…。Moho 13 は、色んなビットマップ描画用のブラシが追加されたようで、一々外部のビットマップ編集ツールに戻らなくても、Moho上だけでビットマップデータにガリガリと描けるようになった模様。
さておき、すっかり操作方法を忘れてる…。こんなに使いづらいUIだったっけか…。
[ ツッコむ ]
#3 [windows] マウスやキーボードの操作を表示するツールが欲しい
自分は普段、アプリを操作する様子を動画キャプチャする際に、AutoHotKey を利用して作った tynyosdkey というツールを使って、マウスボタンの状態やキーストロークをデスクトップに表示しながらキャプチャしているのだけど。
_mieki256/tinyosdkey
今回、enve を操作する様子をキャプチャしようとしたら、何故か enve上で右クリックが機能せず。AutoHotKey との相性なのだろうか。それとも自分のスクリプトの書き方がおかしいのだろうか。
アプリ上で右クリックが使えないのは痛いので、とりあえず今回は、Orakuin というツールを使わせてもらって、マウスとキーボードの操作状態を表示しながらキャプチャしてみたり。ありがたや。
_ORAKUIN キー入力・マウス操作視覚化(可視化)ツール
ただ、このツール、時々日本語文字列がデスクトップに表示されるあたりが…。
英語圏の人達が、チュートリアル動画内の日本語文字列を見ても、なんて書いてあるか分からないから困るよなと。自分達日本人も、チュートリアル動画内にロシア語やフランス語がポンと出てきたらちょっと困るわけで。できれば、簡単な英単語のみを表示する設定が欲しいかもしれないなと…。「押し下げ中」は「Press」にするとか、そういう感じで。
てなわけで、その手のツールが他にないかググってみたものの、これがなかなか見つからず。キーストローク表示はバッチリだけど、マウスボタンの状態表示がないとか、マウスの左右ボタンは表示されるけど中ボタンが表示されないとか、Shift + マウス左ボタン押し等が分かりづらいとか、微妙にあともうちょっと、てな感じのツールばかりで…。
そもそも、こういったツールは、それほど種類が無いようで。マウスやキーボードの操作を横取りしつつ表示するから実装が難しい面があるのだろうなと。
_mieki256/tinyosdkey
今回、enve を操作する様子をキャプチャしようとしたら、何故か enve上で右クリックが機能せず。AutoHotKey との相性なのだろうか。それとも自分のスクリプトの書き方がおかしいのだろうか。
アプリ上で右クリックが使えないのは痛いので、とりあえず今回は、Orakuin というツールを使わせてもらって、マウスとキーボードの操作状態を表示しながらキャプチャしてみたり。ありがたや。
_ORAKUIN キー入力・マウス操作視覚化(可視化)ツール
ただ、このツール、時々日本語文字列がデスクトップに表示されるあたりが…。
英語圏の人達が、チュートリアル動画内の日本語文字列を見ても、なんて書いてあるか分からないから困るよなと。自分達日本人も、チュートリアル動画内にロシア語やフランス語がポンと出てきたらちょっと困るわけで。できれば、簡単な英単語のみを表示する設定が欲しいかもしれないなと…。「押し下げ中」は「Press」にするとか、そういう感じで。
てなわけで、その手のツールが他にないかググってみたものの、これがなかなか見つからず。キーストローク表示はバッチリだけど、マウスボタンの状態表示がないとか、マウスの左右ボタンは表示されるけど中ボタンが表示されないとか、Shift + マウス左ボタン押し等が分かりづらいとか、微妙にあともうちょっと、てな感じのツールばかりで…。
そもそも、こういったツールは、それほど種類が無いようで。マウスやキーボードの操作を横取りしつつ表示するから実装が難しい面があるのだろうなと。
◎ 試用してみたツールをメモ。 :
一応、試用してみたツールをメモ。
_ORAKUIN キー入力・マウス操作視覚化(可視化)ツール
_KeyPose - AxDSan/KeyPose: An Alternative to 'Mousepose' for Windows,
_kbv 4.1.2.0
_QiPress Lite 1.073
_ShowOff
_KeyCastOW
_NohBoard-ReWrite 1.3.0
_Carnac 2.3.3
メモしていて気づいたけど、最後の Carnac は、fork された v3.1-beta版があったのだな…。
_Releases - bfritscher/carnac
Carnac 2.3.3 はキーストロークしか表示できないように見えたけど、v3.1-beta版はマウスボタンの押し下げ状態も表示してくれる模様。マウスボタンを押した際、マウスカーソル位置に円を表示してくれるあたりもイイ感じかもしれない。
_ORAKUIN キー入力・マウス操作視覚化(可視化)ツール
_KeyPose - AxDSan/KeyPose: An Alternative to 'Mousepose' for Windows,
_kbv 4.1.2.0
_QiPress Lite 1.073
_ShowOff
_KeyCastOW
_NohBoard-ReWrite 1.3.0
_Carnac 2.3.3
メモしていて気づいたけど、最後の Carnac は、fork された v3.1-beta版があったのだな…。
_Releases - bfritscher/carnac
Carnac 2.3.3 はキーストロークしか表示できないように見えたけど、v3.1-beta版はマウスボタンの押し下げ状態も表示してくれる模様。マウスボタンを押した際、マウスカーソル位置に円を表示してくれるあたりもイイ感じかもしれない。
[ ツッコむ ]
2020/06/14(日) [n年前の日記]
#1 [enve2d][prog] AutoHotkeyについて復習中
tinyosdkey を実行している状態で、enve を使おうとすると、右クリックメニューが使えなくなる点が気になっていて。
_mieki256/tinyosdkey
_enve | Open-source 2D animation software
tinyosdkey のスクリプトソースを眺めながら AutoHotkey について再度勉強しているところ。AutoHotkey については、何もかもすっかり忘れてる…。
ループ1回あたりの処理時間が長過ぎるのかな…。取得したい全てのキーに対して、押してるか押してないかを調べて処理してるから…。何かしらのキーやボタンが押された時だけ処理、みたいなことはできないものか…。
まあ、ORAKUIN や Carnac v3.1-beta を使えば済む話ではあるのだけど。どうしてこういう状態になるのか気になるところもあるわけで…。
_ORAKUIN
_Carnac v3.1-beta
_mieki256/tinyosdkey
_enve | Open-source 2D animation software
tinyosdkey のスクリプトソースを眺めながら AutoHotkey について再度勉強しているところ。AutoHotkey については、何もかもすっかり忘れてる…。
- #InstallMouseHook や #InstallKeybdHook をつけたり外したり。
- Sleep, 16 の値を増やしたり減らしたり。
- GuiControl, Show, %v% 等をコメントアウトして試したり。
- SetControlDelay, 0 や SetMouseDelay, 0 を追加してみたり。
ループ1回あたりの処理時間が長過ぎるのかな…。取得したい全てのキーに対して、押してるか押してないかを調べて処理してるから…。何かしらのキーやボタンが押された時だけ処理、みたいなことはできないものか…。
まあ、ORAKUIN や Carnac v3.1-beta を使えば済む話ではあるのだけど。どうしてこういう状態になるのか気になるところもあるわけで…。
_ORAKUIN
_Carnac v3.1-beta
[ ツッコむ ]
#2 [neta] お偉いさんの影武者をやらされて困ってる狸の話とかどうだろう
バカ妄想。
TVをつけたら、東京で生息する狸の映像が流れてて。眺めているうちに、狸が人間に化ける能力てのが本当にあると判明したら、きっと人間側は大喜びだろうなと思えてきて。お偉いさんの影武者を作り放題だし。利用価値があり過ぎるなと。
そこから、お偉いさんの影武者を無理矢理やらされちゃって困ってる狸の話、なんてのはどうだろうかと。
昼間から飲み屋で飲んでるお爺さんが、店内のTVに映った国会中継映像をチラリと見て、ポツリと一言。「今日の○○総理はタヌ吉のほうか…」とか。
「すごーい! 私にそっくりじゃない! そうだ、貴方、私の代わりにアイドルの仕事してよ」「ええっ!? 無理無理。私、歌なんて歌えないし」「そんなの大丈夫。口パクでいいから。今時生で歌ってるアイドルなんて居ないから!」とか。
他にどんなシチュエーションが妄想できるだろうか…。
別に狸じゃなくても成立するんじゃないか、とも思ったけど、狸にしておけば完全にファンタジーになるから気楽に妄想できそうな気もしたり。
TVをつけたら、東京で生息する狸の映像が流れてて。眺めているうちに、狸が人間に化ける能力てのが本当にあると判明したら、きっと人間側は大喜びだろうなと思えてきて。お偉いさんの影武者を作り放題だし。利用価値があり過ぎるなと。
そこから、お偉いさんの影武者を無理矢理やらされちゃって困ってる狸の話、なんてのはどうだろうかと。
昼間から飲み屋で飲んでるお爺さんが、店内のTVに映った国会中継映像をチラリと見て、ポツリと一言。「今日の○○総理はタヌ吉のほうか…」とか。
「すごーい! 私にそっくりじゃない! そうだ、貴方、私の代わりにアイドルの仕事してよ」「ええっ!? 無理無理。私、歌なんて歌えないし」「そんなの大丈夫。口パクでいいから。今時生で歌ってるアイドルなんて居ないから!」とか。
他にどんなシチュエーションが妄想できるだろうか…。
別に狸じゃなくても成立するんじゃないか、とも思ったけど、狸にしておけば完全にファンタジーになるから気楽に妄想できそうな気もしたり。
[ ツッコむ ]
2020/06/15(月) [n年前の日記]
#1 [nitijyou] 自宅サーバ止めてました
雷が鳴ったので、21:00-21:50の間、自宅サーバ止めてました。申し訳ないです。
今日は急激に雷の落ちる範囲が広がったようで…。シャットダウン中に落ちたらどうしようとヒヤヒヤ…。
今日は急激に雷の落ちる範囲が広がったようで…。シャットダウン中に落ちたらどうしようとヒヤヒヤ…。
[ ツッコむ ]
2020/06/16(火) [n年前の日記]
#1 [nitijyou] 自宅サーバ止めてました
雷が鳴ったので、14:10-17:30の間、自宅サーバ止めてました。申し訳ないです。
いきなりドーンと音がしてビビりました…。
いきなりドーンと音がしてビビりました…。
[ ツッコむ ]
#2 [anime] 「君の名は。」を視聴
地上波で初放送された版をHDDレコーダに録画したまま見れてなかったけれど、ようやく視聴。何年前に放送されたんだっけ…。番組情報を確認したら2018/01/03となってた…。本放送時も部分的に視聴してはいたけれど、ようやく全編通して視聴できた。
さておき。素晴らしい。大ヒット作だから天邪鬼な人達がアレコレ難癖をつけてくる作品だけど、どう見てもコレは名作の部類だなと…。とにかく背景美術が美しい。動くイラスト集と言っても過言ではない…。更に、キャラクター作画による細かい演技がたまらない。実力派アニメーターが参加してくれた、恵まれた作品だよなあ、と…。 *1
映像作品ならではの見せ方を多々盛り込んでいるあたりで唸ってしまった。例えば、終盤、同ポジを利用して 時間の断絶を表現してみたり。映像という、時間の流れを提示できるメディアだからこそ、あえて唐突に、無慈悲に流れを打ち切ってしまうことで、相手に伝わらなかった悲しさを強調して見せたり。更に、総合芸術の強みを活かして、ここぞというところで入ってくる楽曲の数々。おい、そこのバンド、お前達の音楽でこのシーンをガツンと盛り上げてくれや、映画ならそれができるんやで、みたいな。新海誠監督は、間違いなく、正真正銘、映像作家だなと…。映像というメディアが持っている様々な特性を、強みとして活用しているというか、こういうことができるのが映像の面白さでしょ、てなあたりをよく分かってるというか。 *2
そういえば、電車の車窓から見える電線の動きを再現しているカットを目にして、これはよく観察してるなー、たしかにこんな風に見えてたわー、と感心してしまったり…。自分達が日頃目にしているけど、誰も全く気にしていない当たり前の風景の中から、綺麗な部分や面白い部分を発見して、アニメ映像として再現していく…。それはもう観察の中からしか出てこないはずのもので。宮崎駿監督が、「最近の若いアニメーターは観察が足りない」「とにかく観察しろ」と言ってたりするわけだけど。新海監督も、宮崎駿監督のその言を、比較的愚直に実行している監督なのではないか、その証拠が、電車の車窓風景の1カットにすら見て取れるのではあるまいか、などと思えてきたりもして。
もちろん、新海監督と宮崎監督は、観察してるジャンルが違うだろうとは思うけど…。新海監督は、人物の動きについてはまったく観察していない気配があるけど、その分、風景の中のアレコレをじっくり観察してるのだろうなと。ていうか、そのへんを観察してなかったら、あんな綺麗な映像は作れないはずで…。
さておき。素晴らしい。大ヒット作だから天邪鬼な人達がアレコレ難癖をつけてくる作品だけど、どう見てもコレは名作の部類だなと…。とにかく背景美術が美しい。動くイラスト集と言っても過言ではない…。更に、キャラクター作画による細かい演技がたまらない。実力派アニメーターが参加してくれた、恵まれた作品だよなあ、と…。 *1
映像作品ならではの見せ方を多々盛り込んでいるあたりで唸ってしまった。例えば、終盤、同ポジを利用して 時間の断絶を表現してみたり。映像という、時間の流れを提示できるメディアだからこそ、あえて唐突に、無慈悲に流れを打ち切ってしまうことで、相手に伝わらなかった悲しさを強調して見せたり。更に、総合芸術の強みを活かして、ここぞというところで入ってくる楽曲の数々。おい、そこのバンド、お前達の音楽でこのシーンをガツンと盛り上げてくれや、映画ならそれができるんやで、みたいな。新海誠監督は、間違いなく、正真正銘、映像作家だなと…。映像というメディアが持っている様々な特性を、強みとして活用しているというか、こういうことができるのが映像の面白さでしょ、てなあたりをよく分かってるというか。 *2
そういえば、電車の車窓から見える電線の動きを再現しているカットを目にして、これはよく観察してるなー、たしかにこんな風に見えてたわー、と感心してしまったり…。自分達が日頃目にしているけど、誰も全く気にしていない当たり前の風景の中から、綺麗な部分や面白い部分を発見して、アニメ映像として再現していく…。それはもう観察の中からしか出てこないはずのもので。宮崎駿監督が、「最近の若いアニメーターは観察が足りない」「とにかく観察しろ」と言ってたりするわけだけど。新海監督も、宮崎駿監督のその言を、比較的愚直に実行している監督なのではないか、その証拠が、電車の車窓風景の1カットにすら見て取れるのではあるまいか、などと思えてきたりもして。
もちろん、新海監督と宮崎監督は、観察してるジャンルが違うだろうとは思うけど…。新海監督は、人物の動きについてはまったく観察していない気配があるけど、その分、風景の中のアレコレをじっくり観察してるのだろうなと。ていうか、そのへんを観察してなかったら、あんな綺麗な映像は作れないはずで…。
*1: これまでの新海監督作品も上手いアニメーターさん達が参加してくれてたけど、この作品は群を抜いているように感じるというか。やはり安藤雅司さんの参加が大きかったのではないか…。安藤さんへのインタビュー記事を眺めると、監督に貢献するのではなく作品に貢献する、というポリシーがあるらしいけど、それが良い方向に働いたのではないか…。
*2: 深夜TVアニメを見ていると、映像って何なのかをさっぱり考えないまま作っているのであろう、アレな演出家さんをチラホラ見かけるわけで…。そういう事例と比べてしまうと、新海監督への評も自然と高くなるというか…。いや、もちろん、有名な演出家さんなら、そのほとんどは上手に映像を作っているのだけど。時々ビックリするほどどうしようもない映像を目にする時もあるわけで…。
*2: 深夜TVアニメを見ていると、映像って何なのかをさっぱり考えないまま作っているのであろう、アレな演出家さんをチラホラ見かけるわけで…。そういう事例と比べてしまうと、新海監督への評も自然と高くなるというか…。いや、もちろん、有名な演出家さんなら、そのほとんどは上手に映像を作っているのだけど。時々ビックリするほどどうしようもない映像を目にする時もあるわけで…。
[ ツッコむ ]
2020/06/17(水) [n年前の日記]
#1 [enve2d][cg_tools][anime] enveのExpressionを使ってみる
アニメ制作ソフト enve は、Expression機能があるらしいので試しに使ってみたり。環境は、Windows10 x64 1909 + enve 6_12_20。
_enve | Open-source 2D animation software
Expression って何だろう…?
ちゃんとした定義は分からないけれど、動きをつけるためのパラメータに数式を指定することができる機能、とでも思っておけばいいのだろうか。例えば、正確な円運動をさせたいと思った際に、手作業で円を描く動きをつけていくのは大変だけど、sin(),cos() を使って数式で位置を指定できれば、きっちりとした円運動が実現できる。他にも、ふわふわした動きをつけたり、ランダムな動きをつけたい場合は、数式で指定できたほうが楽だったりする。
ちなみに、enve の公式動画群の中に、Expression を使う様子をキャプチャした動画はあるのだけど…。
_Multi-line Expression Example - YouTube
どうやらUIが古い時期の動画らしく、数式を入力するダイアログが違っていて、ビミョーに参考にならなかった。いやまあ、機能として持ってるよと伝えてるだけでもありがたいけど、もしかすると将来的に、ダイアログの見た目がまた変わってしまう可能性は高そうだなと。
_enve | Open-source 2D animation software
Expression って何だろう…?
ちゃんとした定義は分からないけれど、動きをつけるためのパラメータに数式を指定することができる機能、とでも思っておけばいいのだろうか。例えば、正確な円運動をさせたいと思った際に、手作業で円を描く動きをつけていくのは大変だけど、sin(),cos() を使って数式で位置を指定できれば、きっちりとした円運動が実現できる。他にも、ふわふわした動きをつけたり、ランダムな動きをつけたい場合は、数式で指定できたほうが楽だったりする。
ちなみに、enve の公式動画群の中に、Expression を使う様子をキャプチャした動画はあるのだけど…。
_Multi-line Expression Example - YouTube
どうやらUIが古い時期の動画らしく、数式を入力するダイアログが違っていて、ビミョーに参考にならなかった。いやまあ、機能として持ってるよと伝えてるだけでもありがたいけど、もしかすると将来的に、ダイアログの見た目がまた変わってしまう可能性は高そうだなと。
◎ 操作手順をメモ。 :
とりあえず矩形を一つ置いてみる。この矩形の Scale(拡大縮小)に Expression を使ってみる。
まずは、scale.x(x方向の拡大縮小率)を指定してみる。矩形を選択して、左のほうのウインドウ内で、transform → scale → x の入力欄を右クリック。表示されたメニューの中から、Set Expression を選択。
Expressionの入力ダイアログが開いた。上の「Bindings」欄で、下の「Calculate()」に渡す変数を列挙する…らしい。たぶん。ちょっと自信無いけど。
今回は、フレーム番号を渡してみる。Bindings に以下を記述。
下の Calculate() 欄に、以下を記述。
scale.y(y方向の拡大縮小率)にも Expression を指定してみる。y値の入力欄で右クリックして、Set Expression を選択。
今回は scale.x をそのまま返すようにしてみる。
動かしてみると、こうなる。
ということで、Expression を使うことで、sin値に基いて大きくなったり小さくなったりする動きをつけることができた。
まずは、scale.x(x方向の拡大縮小率)を指定してみる。矩形を選択して、左のほうのウインドウ内で、transform → scale → x の入力欄を右クリック。表示されたメニューの中から、Set Expression を選択。
Expressionの入力ダイアログが開いた。上の「Bindings」欄で、下の「Calculate()」に渡す変数を列挙する…らしい。たぶん。ちょっと自信無いけど。
今回は、フレーム番号を渡してみる。Bindings に以下を記述。
frame = $frame;下の Calculate() が、Calculate(frame) に変わってくれる。「この関数は変数 frame を受け取るよ」と示しているのだろう…。
下の Calculate() 欄に、以下を記述。
angle = 360 * frame / 24; rad = angle * Math.PI / 180.0; return 1 + 0.1 * Math.sin(rad);
- 1行目で、フレーム番号から角度(単位は度)を作る。24FPSで作っているので、1秒(24フレーム目)で360度になる。
- 2行目で、度からラジアンに変換。
- 3行目の return 〜; で、scale.x に渡す値を作る。
scale.y(y方向の拡大縮小率)にも Expression を指定してみる。y値の入力欄で右クリックして、Set Expression を選択。
今回は scale.x をそのまま返すようにしてみる。
scalex = x;
return scalex;
動かしてみると、こうなる。
ということで、Expression を使うことで、sin値に基いて大きくなったり小さくなったりする動きをつけることができた。
◎ 式を変更してみる。 :
[ ツッコむ ]
2020/06/18(木) [n年前の日記]
#1 [enve2d][cg_tools][anime] enve の Expression で拡大縮小時の線幅を一定にしてみる
enve の Expression を使って、他にどんなことができるだろうと考えていたけれど、もしかしてパスを拡大縮小した際に線幅を一定にすることもできるだろうかと思えてきたので試しに実験してみたり。環境は Windows10 x64 1909 + enve 6_12_20。
一般的に、この手のアニメ制作ソフトで、パスが拡大縮小するような動きをつけると、線幅もそれに応じて細くなったり太くなったりするのだけど。手描きアニメ風というか、手描きの動画に近づけたいなら、線幅が一定のほうがそれっぽくなるわけで…。
一般的に、この手のアニメ制作ソフトで、パスが拡大縮小するような動きをつけると、線幅もそれに応じて細くなったり太くなったりするのだけど。手描きアニメ風というか、手描きの動画に近づけたいなら、線幅が一定のほうがそれっぽくなるわけで…。
◎ 指定内容をメモ。 :
以下のような Expression を、パスの outline → thickness に指定。thickness の数値入力欄を右クリックして Set Expression を選べば、xpression を入力できる。
こんな感じになった。
Expression を指定してないほうは線幅も含めて拡大表示されてるけど、Expression を指定してるほうは線幅が一定に見えるように拡大表示されてる。予想通りの結果が得られた。
Bindings: scalex = Path 0.transform.scale.x; value = $value;
Calculate( scalex, value ): return value / scalex;
- 「Path 0」は対象のパス名(レイヤー名?)。
- $value は、この場合 thickness に元々指定されていた値を参照するための変数。
こんな感じになった。
Expression を指定してないほうは線幅も含めて拡大表示されてるけど、Expression を指定してるほうは線幅が一定に見えるように拡大表示されてる。予想通りの結果が得られた。
◎ 問題点。 :
ということで、Expression を使えば、線幅が一定に見える状態で拡大縮小できそうだと分かったけれど。
ただ、実際には、もっと複雑な絵を ―― 多数のパスで構成された絵を拡大縮小したくなるはずで。しかし、それら多数のパスに対して、一つ一つこういう指定をしていくのは現実的ではない…。本来は、ソフトウェア側で機能を持ってると嬉しいというか、チェックボックスをON/OFFするだけで、線幅一定の表示になる、等の機能が欲しくなるところではあるよなと…。
ただ、「拡大縮小表示をする時に線幅が一定だと一体何が嬉しいんだ? 意味あるのか?」と言い出す人が多数かもしれないという予感もあり。そもそも必要性を感じてもらえなければ、実装されるわけもなく。
このあたり、一度自分の手を動かして、手描きで動画の中割を描いてみないと、こういう機能の有難味が分からないだろうなと…。でも、コレって、CGで拡大縮小してるだけなのに手描きで動かしてるかのように一瞬勘違いさせる、所詮は騙しのテクニックの範疇かもしれないので、なんというか…。
ただ、実際には、もっと複雑な絵を ―― 多数のパスで構成された絵を拡大縮小したくなるはずで。しかし、それら多数のパスに対して、一つ一つこういう指定をしていくのは現実的ではない…。本来は、ソフトウェア側で機能を持ってると嬉しいというか、チェックボックスをON/OFFするだけで、線幅一定の表示になる、等の機能が欲しくなるところではあるよなと…。
ただ、「拡大縮小表示をする時に線幅が一定だと一体何が嬉しいんだ? 意味あるのか?」と言い出す人が多数かもしれないという予感もあり。そもそも必要性を感じてもらえなければ、実装されるわけもなく。
このあたり、一度自分の手を動かして、手描きで動画の中割を描いてみないと、こういう機能の有難味が分からないだろうなと…。でも、コレって、CGで拡大縮小してるだけなのに手描きで動かしてるかのように一瞬勘違いさせる、所詮は騙しのテクニックの範疇かもしれないので、なんというか…。
◎ Adobe Flashの場合。 :
ちなみに、Adobe Flash の場合、線幅を「極細線」で指定すれば、拡大縮小時に線幅が一定になってくれた…ような気がするけどどうだったかな…。
手持ちの Adobe Flash CS5 を起動して確認してみたら、たしかに「実線」ではなく「極細線」にすれば、拡大縮小しても線幅が変わらなかった。記憶は正しかった。
というか、「伸縮」という設定項目がちゃんとあって、「標準」から「なし」にすれば線幅が変わらなくなる模様。こんな項目あったっけ? 昔は無かったような気がするのだけど。
ググってみたら、FLash 8 で追加された機能らしい。
_Amazing Flash: 線の話
知らなかった…。自分、Flash 4 で一旦使わなくなって、Flash CS4 からまた使い始めた人なので、その間にどんな機能追加があったのか全然把握してないのだよな…。
何にせよ、Adobe Flash CS5 までは線幅一定で拡大縮小することが可能、というのは間違いない模様。
Adobe Animate は…触ったことないので知らないです。
手持ちの Adobe Flash CS5 を起動して確認してみたら、たしかに「実線」ではなく「極細線」にすれば、拡大縮小しても線幅が変わらなかった。記憶は正しかった。
というか、「伸縮」という設定項目がちゃんとあって、「標準」から「なし」にすれば線幅が変わらなくなる模様。こんな項目あったっけ? 昔は無かったような気がするのだけど。
ググってみたら、FLash 8 で追加された機能らしい。
_Amazing Flash: 線の話
知らなかった…。自分、Flash 4 で一旦使わなくなって、Flash CS4 からまた使い始めた人なので、その間にどんな機能追加があったのか全然把握してないのだよな…。
何にせよ、Adobe Flash CS5 までは線幅一定で拡大縮小することが可能、というのは間違いない模様。
Adobe Animate は…触ったことないので知らないです。
[ ツッコむ ]
#2 [zatta][pc] Flash関係の愚痴
ちょっとFlash関係で愚痴を言いたくなったのでメモ。
自分が Flash を触り始めた当時(Flash 4の頃)、Macユーザさんから、「WebページにFlashが貼り付けてあるとブラウザだけでは飽き足らずOSまで巻き込んで落ちる」と苦情が来てしまって。 *1 「マジか。Flashを使うのは時期尚早なのかなあ…。もうちょっと様子を見るか」としばらく離れてたら、その間にどんどんブームになっちゃって、周回遅れになっちゃって。「しまった。これはもう追いつけないわ」みたいな。
Web関係の技術は、仮に作り込みが未成熟でユーザに迷惑をかけたとしても、「んなの知ったこっちゃねえ」的に最新機能を使いまくる人のほうが勝者になれるのだなー、と Flash を通じて悟ったというか…。
しかしそんなFlashも、2020年末にはブラウザ上で見れなくなっちゃうという。「あの人達って勝ち組だなあ」と思いながら眺めてた人達が(大変失礼ながら)皆負け組ですよ。恐ろしい。自分がせっせと作ったFlashデータも、ジョブズ一人のせいで、全てが強制的に問答無用でゴミ扱い。酷い。酷過ぎる。許すまじ、ジョブズ。
でも、こんなことはこれから何度も起きるに違いないのです。JavaScriptだって、CSSだって、もしかするとそのうち皆で寄ってたかってタコ殴りされて殺されるかもしれない…。その場の空気でFlashを殺した連中が、違う空気に支配されて似たようなことをしないという保障なんてどこにもないわけで。
なので、Flash のような展開になるかもしれないのに、そんなもんわざわざ勉強したくないよなあ、てなことを思ってしまって、ますます周回遅れになるという。なんだかな。
でもまあ、各技術が持っていた概念部分は、他の何かにも応用できるのかもしれないから、勉強したことも全くの無駄にはならないのかもしれないけれど。
だけどおそらく、後になっても役に立つ知識と、後になったら役に立たない知識があるんだろうなと…。そのあたりを賢く見極めることができればいいのだろうけど、それができないから今更勉強する気も起きないという…。
まあ、技術に対して目利きではないダメ人間の、只の愚痴です。それだけです。
自分が Flash を触り始めた当時(Flash 4の頃)、Macユーザさんから、「WebページにFlashが貼り付けてあるとブラウザだけでは飽き足らずOSまで巻き込んで落ちる」と苦情が来てしまって。 *1 「マジか。Flashを使うのは時期尚早なのかなあ…。もうちょっと様子を見るか」としばらく離れてたら、その間にどんどんブームになっちゃって、周回遅れになっちゃって。「しまった。これはもう追いつけないわ」みたいな。
Web関係の技術は、仮に作り込みが未成熟でユーザに迷惑をかけたとしても、「んなの知ったこっちゃねえ」的に最新機能を使いまくる人のほうが勝者になれるのだなー、と Flash を通じて悟ったというか…。
しかしそんなFlashも、2020年末にはブラウザ上で見れなくなっちゃうという。「あの人達って勝ち組だなあ」と思いながら眺めてた人達が(大変失礼ながら)皆負け組ですよ。恐ろしい。自分がせっせと作ったFlashデータも、ジョブズ一人のせいで、全てが強制的に問答無用でゴミ扱い。酷い。酷過ぎる。許すまじ、ジョブズ。
でも、こんなことはこれから何度も起きるに違いないのです。JavaScriptだって、CSSだって、もしかするとそのうち皆で寄ってたかってタコ殴りされて殺されるかもしれない…。その場の空気でFlashを殺した連中が、違う空気に支配されて似たようなことをしないという保障なんてどこにもないわけで。
なので、Flash のような展開になるかもしれないのに、そんなもんわざわざ勉強したくないよなあ、てなことを思ってしまって、ますます周回遅れになるという。なんだかな。
でもまあ、各技術が持っていた概念部分は、他の何かにも応用できるのかもしれないから、勉強したことも全くの無駄にはならないのかもしれないけれど。
だけどおそらく、後になっても役に立つ知識と、後になったら役に立たない知識があるんだろうなと…。そのあたりを賢く見極めることができればいいのだろうけど、それができないから今更勉強する気も起きないという…。
まあ、技術に対して目利きではないダメ人間の、只の愚痴です。それだけです。
*1: 古いMacとOSでは落ちる、という話だったから、当時の Macromedia が比較的新しいMacにのみフォーカスを当てて開発していて、古いMacは切り捨てていたのかなと想像するのですが。そりゃまあ開発リソースは常に限られているし、当時のMacって不安定なPCの代表格だったから、全ての機種でデバッグするとか無理だったのかなと…。
[ ツッコむ ]
2020/06/19(金) [n年前の日記]
#1 [python] Python+seleniumでWebブラウザを自動操作
十数ページほどWebページのスクリーンショットを撮ってサムネイル画像を作らなければいけなくて、手作業でキャプチャ作業をしていたのだけど。さすがにツラいなと。ある程度は作業を自動化したいなと。
Webブラウザを自動操作できる何かしらが無いものかとググってみたら、Python + selenium で Google Chrome 等を自動操作できると知り、ちょっと試してみようかと。環境は Windows10 x64 1909 + Python 3.7.7 64bit。
Webブラウザを自動操作できる何かしらが無いものかとググってみたら、Python + selenium で Google Chrome 等を自動操作できると知り、ちょっと試してみようかと。環境は Windows10 x64 1909 + Python 3.7.7 64bit。
◎ インストール作業。 :
selenium を pip でインストールする。
Google Chrome を操作するためには、chromedriver が必要らしい。これも pip でインストールできるらしい。
chromedriver-path というコマンドで、chromedriver がインストールされた場所を表示できる。
pip install seleniumselenium-3.141.0 がインストールされた。
Google Chrome を操作するためには、chromedriver が必要らしい。これも pip でインストールできるらしい。
pip install chromedriver-binarychromedriver-binary-84.0.4147.30.0 がインストールされた。
chromedriver-path というコマンドで、chromedriver がインストールされた場所を表示できる。
> chromedriver-path c:\python\python37-64\lib\site-packages\chromedriver_binary環境変数 PATH に追加しておくことにする。今回は、ユーザ側の環境変数でいいかな…。
◎ 動作確認と再インストール。 :
IDLEを起動して試してみたけど。
仕方ないので、手動で version 83 用の chromedriver を入れる。まずは pip でインストールした chromedriver をアンインストール。
chromedriver をDLしてくる。
_Downloads - ChromeDriver - WebDriver for Chrome
chromedriver_win32.zip (83.0.4103.39版)をDLして解凍。中には chromedriver.exe が入っていた。今回は、D:\Dev\chromedriver\ に置いた。環境変数PATHにも通しておく。
コマンドプロンプトで chromedriver と打ち込んで、パスが通ってるか確認。
from selenium import webdriver driver = webdriver.Chrome()「この chromedriver は version 84 にしか対応してねえよ」と怒られた。自分の環境に入ってる Google Chrome は version 83 だった…。
仕方ないので、手動で version 83 用の chromedriver を入れる。まずは pip でインストールした chromedriver をアンインストール。
pip uninstall chromedriver-binary
chromedriver をDLしてくる。
_Downloads - ChromeDriver - WebDriver for Chrome
chromedriver_win32.zip (83.0.4103.39版)をDLして解凍。中には chromedriver.exe が入っていた。今回は、D:\Dev\chromedriver\ に置いた。環境変数PATHにも通しておく。
コマンドプロンプトで chromedriver と打ち込んで、パスが通ってるか確認。
> chromedriver Starting ChromeDriver 83.0.4103.39 (ccbf011cb2d2b19b506d844400483861342c20cd-refs/branch-heads/4103@{#416}) on port 9515 Only local connections are allowed. Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe. ChromeDriver was started successfully.パスは通っているっぽい。
◎ 再度動作確認。 :
IDLE上で、以下を1行ずつ試してみる。
Googleのページが開かれて、「chromedriver」で検索できた。動ているっぽい。
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.google.com/') search_box = driver.find_element_by_name("q") search_box.send_keys('ChromeDriver') search_box.submit() driver.quit()
Googleのページが開かれて、「chromedriver」で検索できた。動ているっぽい。
◎ スクリーンショットを撮る記述をメモ。 :
URL群が入ったリストを使ってループして、各ページのスクリーンショットを撮るスクリプトは書けた。一応、スクリプトの中から、関係ありそうなところを抜き出してメモ。
from selenium import webdriver import time urls = [] # ... # urls.append([uri, imguri]) options = webdriver.ChromeOptions() options.add_argument('--disable-infobars') options.add_argument('--disable-extensions') options.add_argument('--start-maximized') if headless: options.add_argument('--headless') options.add_argument('--window-size=1920,1080') driver = webdriver.Chrome(options=options) driver.set_window_size(1920, 1080) else: options.add_argument('--kiosk') driver = webdriver.Chrome(options=options) # driver.maximize_window() for uri, imguri in urls: driver.get(uri) time.sleep(1) # driver.fullscreen_window() time.sleep(5) driver.save_screenshot(imguri) time.sleep(2) driver.close() driver.quit()
- driver.save_screenshot(ファイル名) で画像保存できる。ちなみに、Windows + Python でも「/」はパス区切り文字として使える。
- オプションで --start-maximized を指定すると最大化。--kiosk を指定すると kioskモード。おそらくどちらか片方だけを指定すれば済みそうな気もする…。
◎ 参考ページ。 :
_PythonでSeleniumを使ってスクレイピング (基礎) - Qiita
_Python + Selenium で Chrome の自動操作を一通り - Qiita
_Downloads - ChromeDriver - WebDriver for Chrome
_【完全版】PythonとSeleniumでブラウザを自動操作(クローリング/スクレイピング)するチートシート | たぬハック
_【広報担当者向け】複数のWEBニュースを自動キャプチャする方法【働き方改革】 | 広報・PR支援の株式会社ガーオン
Google Chrome の --disable-infobars オプションは削除されたという話もあるようで…。実際、指定してみても、infobars は消えてくれなかった。
_automated testing - How to disable infobar from Chrome - Software Quality Assurance & Testing Stack Exchange
_Python + Selenium で Chrome の自動操作を一通り - Qiita
_Downloads - ChromeDriver - WebDriver for Chrome
_【完全版】PythonとSeleniumでブラウザを自動操作(クローリング/スクレイピング)するチートシート | たぬハック
_【広報担当者向け】複数のWEBニュースを自動キャプチャする方法【働き方改革】 | 広報・PR支援の株式会社ガーオン
Google Chrome の --disable-infobars オプションは削除されたという話もあるようで…。実際、指定してみても、infobars は消えてくれなかった。
_automated testing - How to disable infobar from Chrome - Software Quality Assurance & Testing Stack Exchange
[ ツッコむ ]
2020/06/20(土) [n年前の日記]
#1 [pc] 手持ちのWebカメラがWindows10で使えるか動作確認した
手持ちのWebカメラ(USBカメラ)がWindows10 x64 1909で使えるかどうか、動作確認してみたり。
確認したWebカメラは以下。
どちらも、USB接続しただけで、自動でドライバが読み込まれた模様。AMCAPというソフトでキャプチャできることを確認。
確認したWebカメラは以下。
- BUFFALO BSWHD01BK。100万画素。1280x720までキャプチャ可能。UVC対応。2012/02/01に購入。
- Logicool QCAM S7500 QCAM-130XH (V-UBE43)。130万画素。1280x960までキャプチャ可能。2009/05/16に購入。
どちらも、USB接続しただけで、自動でドライバが読み込まれた模様。AMCAPというソフトでキャプチャできることを確認。
◎ 参考ページ。 :
_キャプチャソフト一覧 UVC 録画 - Qiita
_第2回 WEBカメラを使った撮影について - 向上心はありません
_サポートソフトウェアとか - oekaki-live @ ウィキ - アットウィキ
_第2回 WEBカメラを使った撮影について - 向上心はありません
_サポートソフトウェアとか - oekaki-live @ ウィキ - アットウィキ
◎ 動作確認した動機。 :
そのへんのメモ用紙に書いた何かしらをPCに取り込みたいなと。
ちゃんとした状態で取り込みたいなら、スキャナの類を使うべきで。自分もフラットヘッド型スキャナ、ドキュメントスキャナを持ってるのでソレを使えばいいのだけど…。ただ、自分の場合は利用頻度が圧倒的に低いものだから、電源コードは差してないし、USBケーブルも外してあるし、机の引き出しにしまい込んであるしで、セットアップするのが面倒臭い。
そこでふと、Webカメラ(USBカメラ)を使って取り込むのはどうだろうと。でも、Windows10で使えるかどうか確認してなかったな…。ということで動作確認してみた次第。
もっとも、一応動くことは分かったけれど…。画質が酷過ぎて、目的を果たすには少々厳しい印象。
こういったことをしたい場合、一般的にはどうやってるのかググってみたら、今時はスマホのカメラでメモを撮影してクラウド上にアップロード後、ソレをPCでダウンロード、という流れが多いようで。例えば、Microsoft が提供している Office Lens というアプリを使えば、斜めに撮影したメモも自動で補正して書類っぽい画像にしてくれるし、OneDrive にアップロードもできる。そりゃまあ、スマホを持ってたら、そういう流れで撮るわなと…。
ちゃんとした状態で取り込みたいなら、スキャナの類を使うべきで。自分もフラットヘッド型スキャナ、ドキュメントスキャナを持ってるのでソレを使えばいいのだけど…。ただ、自分の場合は利用頻度が圧倒的に低いものだから、電源コードは差してないし、USBケーブルも外してあるし、机の引き出しにしまい込んであるしで、セットアップするのが面倒臭い。
そこでふと、Webカメラ(USBカメラ)を使って取り込むのはどうだろうと。でも、Windows10で使えるかどうか確認してなかったな…。ということで動作確認してみた次第。
もっとも、一応動くことは分かったけれど…。画質が酷過ぎて、目的を果たすには少々厳しい印象。
こういったことをしたい場合、一般的にはどうやってるのかググってみたら、今時はスマホのカメラでメモを撮影してクラウド上にアップロード後、ソレをPCでダウンロード、という流れが多いようで。例えば、Microsoft が提供している Office Lens というアプリを使えば、斜めに撮影したメモも自動で補正して書類っぽい画像にしてくれるし、OneDrive にアップロードもできる。そりゃまあ、スマホを持ってたら、そういう流れで撮るわなと…。
◎ gphoto2も試した。 :
VMware Player上で Ubuntu Linux 20.04 LTS を動かして、Canon PowerShot A300 をUSB接続して、gphoto2 を使ってリモート撮影(?)してみた。手順は以前メモしてあった。
_mieki256's diary - gphoto2を使ってみた
圧倒的な高画質。やはりコンデジはWebカメラと格が違う…。
もっとも、この仕組みではプレビュー等が得られないので、撮影してみるまでどんな画像になるのか分からないのが痛いなと…。まあ、1枚撮影して受信するまで十数秒かかるから、プレビューを見るのはちょっと無理だわな…。
_mieki256's diary - gphoto2を使ってみた
圧倒的な高画質。やはりコンデジはWebカメラと格が違う…。
もっとも、この仕組みではプレビュー等が得られないので、撮影してみるまでどんな画像になるのか分からないのが痛いなと…。まあ、1枚撮影して受信するまで十数秒かかるから、プレビューを見るのはちょっと無理だわな…。
◎ コンデジがWebカメラになればなあ。 :
余談。Webカメラにもなるコンデジ(コンパクトデジカメ)があればなあ…。比較的高画質な静止画や動画が得られるだろうに…。
昔はそういう製品もあったけど、 *1 今はもう絶滅状態で。残念。スマホの普及でコンデジと言う市場ジャンルが壊滅状態と聞くけれど、その割に、Webカメラにもなりますよ、等々の機能をつけてくれないまま終わっていくあたりが更に残念。 *2
昔はそういう製品もあったけど、 *1 今はもう絶滅状態で。残念。スマホの普及でコンデジと言う市場ジャンルが壊滅状態と聞くけれど、その割に、Webカメラにもなりますよ、等々の機能をつけてくれないまま終わっていくあたりが更に残念。 *2
[ ツッコむ ]
2020/06/21(日) [n年前の日記]
#1 [enve2d][cg_tools][anime] enveのExpressionの$valueについて動作を確認
アニメ制作ソフト enve は、Expression を使って各値を数式で変化させることができるけど、入力変数として $value が用意されてるあたりが気になって。元々の値を返すのだろうけど、それは補間で得られた値も返すのだろうかと。
というわけで試してみたり。環境は、Windows10 x64 1909 + enve 6_19_20。
まず、Expression を使わない動き。キーフレームを指定して、グラフのカーブを弄って作ってみた。こんな感じ。
ここに、Expression を追加して ―― sin値でx座標がふらふらする動きを追加してみる。パスの transform → translation → x を右クリックして、Set Expression を選択。
こんな動きになった。
指定したキーフレームを補間するようにx座標が変化するわけだけど、そのx座標値に、Expression で sin値が加算された感じの動きになっている。
ということで、$value は、補間値も得られるようだなと…。
つまり…。
というわけで試してみたり。環境は、Windows10 x64 1909 + enve 6_19_20。
まず、Expression を使わない動き。キーフレームを指定して、グラフのカーブを弄って作ってみた。こんな感じ。
ここに、Expression を追加して ―― sin値でx座標がふらふらする動きを追加してみる。パスの transform → translation → x を右クリックして、Set Expression を選択。
Bindings: frame = $frame; value = $value; Calculate( frame, value ): m = 16 * frame / 48.0; angle = 3 * 360 * frame / 24.0; rad = angle * Math.PI / 180.0; return value + m * Math.sin(rad);
こんな動きになった。
指定したキーフレームを補間するようにx座標が変化するわけだけど、そのx座標値に、Expression で sin値が加算された感じの動きになっている。
ということで、$value は、補間値も得られるようだなと…。
つまり…。
- ざっくりとした大まかな動きは手作業で指定。
- 小さい動きは Expression を使って、$value に変化を与える感じで追加。
[ ツッコむ ]
2020/06/22(月) [n年前の日記]
#1 [pc] コンパクトデジカメをgphoto2を使ってWebカメラ化できるか実験
Linux + gphoto2 を使えば、一部のコンデジ(コンパクトデジカメ)をリモート操作できたりするのだけど、関連情報をググっていたらWebカメラ化することもできなくもない、という話を見かけたので試してみたり。
環境は以下。
gphoto2 からリモート操作できるデジカメの一覧は以下。
_gPhoto - Doc :: Remote controlling cameras
ページの最後のあたりに、「2009年以降のCanon製コンデジはリモート操作できないよ」「Sony製やFuji製も全滅だよ」と書いてある。 *1
保存先を変更すれば、メモリカードに残せるのかもしれない。
ただ、mjpg動画の再生方法が分からない…。ffmpge でmp4動画に変換する。
環境は以下。
- OS : VMware Player + Ubuntu Linux 20.04 LTS。ホストOSは Windows10 x64 1909。
- Camera : Canon PowerShot A300。300万画素。単三乾電池を使用する製品。
gphoto2 からリモート操作できるデジカメの一覧は以下。
_gPhoto - Doc :: Remote controlling cameras
ページの最後のあたりに、「2009年以降のCanon製コンデジはリモート操作できないよ」「Sony製やFuji製も全滅だよ」と書いてある。 *1
◎ 必要なパッケージのインストール。 :
Ubuntu Linux 20.04 LTS上で作業。
sudo apt install gphoto2 v4l2loopback-utils
◎ 接続されてるデジタルカメラの一覧を表示。 :
gphoto2 --auto-detect
◎ デジタルカメラの情報を表示。 :
gphoto2 -a or gphoto2 --abilities
◎ Canon製デジタルカメラを撮影可能状態にする。 :
Canon製デジカメはコレをしないと撮影可能な状態にならない。
gphoto2 --set-config capture=on
◎ フラッシュを無効化。 :
gphoto2 --set-config flashmode=0
◎ 画像を撮影してPC側にダウンロード。 :
メモリカード内の画像は消える。
gphoto2 --capture-image-and-download
◎ 画像を撮影してデジカメのRAM内にのみ残す。 :
gphoto2 --capture-image
保存先を変更すれば、メモリカードに残せるのかもしれない。
gphoto2 --get-config capturetarget gphoto2 --set-config capturetarget=1
◎ プレビュー画像をPCに保存。 :
gphoto2 --capture-preview
◎ 動画をPCに保存。 :
gphoto2 --capture-movie=10s gphoto2 --capture-movie=0
- --capture-movie=10s なら10秒保存。
- --capture-movie=0 なら (0+1)フレーム保存
ただ、mjpg動画の再生方法が分からない…。ffmpge でmp4動画に変換する。
ffmpeg -i movie.mjpg -vcodec libx264 -pix_fmt yuv420p movie.mp4
◎ /dev/video* を用意する。 :
キャプチャデバイスとして扱われる /dev/video* を用意する。
現在の状態を確認。
モジュールを有効化。
キャプチャデバイスが増えたか確認。
解説記事等では、/dev/video1 等が増えると記述されてるけれど、VMware Player + Ubuntu 20.04 LTS の環境では、/dev/video0 が追加された。この /dev/video0 に動画を流し込んでやれば、キャプチャデバイスとして扱われるらしい。
現在の状態を確認。
ls /dev/video*
モジュールを有効化。
sudo modprobe v4l2loopback exclusive_caps=1 card_label="GPhoto2 Webcam" or sudo modprobe v4l2loopback exclusive_caps=1 or sudo modprobe v4l2loopback
キャプチャデバイスが増えたか確認。
lsmod ls /dev/video*
解説記事等では、/dev/video1 等が増えると記述されてるけれど、VMware Player + Ubuntu 20.04 LTS の環境では、/dev/video0 が追加された。この /dev/video0 に動画を流し込んでやれば、キャプチャデバイスとして扱われるらしい。
◎ コンデジをWebカメラ化する :
コンパクトデジカメからmjpeg動画を取得して、ffmpeg で変換して /dev/video* に流し込むことで、Webカメラっぽいものに見せかける。
VLCを起動して、/dev/video0 を再生。
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
VLCを起動して、/dev/video0 を再生。
◎ Canon製デジタルカメラを撮影不可状態にする :
gphoto2 --set-config capture=off
◎ 参考ページ。 :
_コンピュータによるカメラのリモート制御を可能とするgPhoto | OSDN Magazine
_gPhoto - Doc :: Remote controlling cameras
_gPhoto - Projects :: libgphoto2 :: supported cameras
_Linuxでデスクトップを偽のWebカメラとして使用する
_v4l2loopbackで仮想videoデバイスを作る - unknownplace.org
_Using a digital camera ( Canon) as webcam - Ask Ubuntu
_gPhoto - Doc :: Remote controlling cameras
_gPhoto - Projects :: libgphoto2 :: supported cameras
_Linuxでデスクトップを偽のWebカメラとして使用する
_v4l2loopbackで仮想videoデバイスを作る - unknownplace.org
_Using a digital camera ( Canon) as webcam - Ask Ubuntu
◎ 感想。 :
一応、Webカメラっぽく使うことはできたけど、画質が酷過ぎる…。320x240という低解像度、更に mjpg(Motion JPEG)なので、そりゃまあこういう画質になりますわな、みたいな。VGA画質のトイデジカメをWebカメラとして利用するほうがまだマシかもと思えるほどの低画質。レンズ周りは、コンデジのほうがWebカメラやトイデジカメよりはるかにまともだろうと想像するのだけど、それでもここまで酷い画質になるとは予想外だった。
そもそも gphoto2 の動画取得は、プレビュー画像を連続取得して動画化、という仕組みだそうで。プレビュー画像と言うのは、おそらくデジカメの液晶画面に映っているソレだろうな…。そりゃ低画質になるわなと。
これがもし、デジカメ自体が持っている動画撮影モードを利用できれば、もうちょっとマシになるのかもしれない。例えば Canon PowerShot A300 の場合、640x480の解像度で動画撮影できるので、320x240 よりは改善するだろうと。ただ、その動画撮影モードを使うと、撮影終了直後にデジカメ上で結構処理時間がかかるので…。仮にそういった機能を利用できたとしても、gphoto2 がスイスイと画像取得するわけにもいかないのだろうと想像してみたり。
まあ、このあたり、高級な一眼レフデジカメを使えば満足できる画質が得られるのかも。そっちは違う仕組みで動画を取り出すっぽいし。
そもそも gphoto2 の動画取得は、プレビュー画像を連続取得して動画化、という仕組みだそうで。プレビュー画像と言うのは、おそらくデジカメの液晶画面に映っているソレだろうな…。そりゃ低画質になるわなと。
これがもし、デジカメ自体が持っている動画撮影モードを利用できれば、もうちょっとマシになるのかもしれない。例えば Canon PowerShot A300 の場合、640x480の解像度で動画撮影できるので、320x240 よりは改善するだろうと。ただ、その動画撮影モードを使うと、撮影終了直後にデジカメ上で結構処理時間がかかるので…。仮にそういった機能を利用できたとしても、gphoto2 がスイスイと画像取得するわけにもいかないのだろうと想像してみたり。
まあ、このあたり、高級な一眼レフデジカメを使えば満足できる画質が得られるのかも。そっちは違う仕組みで動画を取り出すっぽいし。
◎ 余談。 :
最初、gphoto2 --capture-preview や gphpto2 --capture-movie=10s をしても 0バイトのファイルしか出てこなくておかしいなと思ってたら、デジカメ側の電池が切れていた…。つまり、0バイトのファイルが出てきたら、デジカメ側の電源を疑ってみたほうがいいのかもしれない。
デジカメに、別の eneloop を入れたけど、静止画撮影はできるものの、動画撮影をすると数秒で「バッテリーを交換してください」と表示されてしまって。電圧を測ってみたら、1.2V。充電池の規格を満たす電圧ではあるけれど、これでは足りないということかな…。
今まで使ってた eneloop を再充電してテスターで電圧を測ってみたら、1.5Vぐらいあった。充電池も、充電直後なら、単三乾電池を要求するデジカメを動かせる電圧になってるのだな…。
デジカメに、別の eneloop を入れたけど、静止画撮影はできるものの、動画撮影をすると数秒で「バッテリーを交換してください」と表示されてしまって。電圧を測ってみたら、1.2V。充電池の規格を満たす電圧ではあるけれど、これでは足りないということかな…。
今まで使ってた eneloop を再充電してテスターで電圧を測ってみたら、1.5Vぐらいあった。充電池も、充電直後なら、単三乾電池を要求するデジカメを動かせる電圧になってるのだな…。
◎ ログも一応メモ。 :
gphoto2 --capture-movie で取得した .mjpg を ffmpeg で mp4 に変換した際のログをメモ。
途中で、「この入力動画って低画質過ぎるんだけど、もしかして俺っちってば自動判別を間違えてない?」と言われてるような気もする…。
途中で、「この入力動画って低画質過ぎるんだけど、もしかして俺っちってば自動判別を間違えてない?」と言われてるような気もする…。
$ ffmpeg -i movie.mjpg -vcodec libx264 -pix_fmt yuv420p movie.mp4 ffmpeg version 4.2.2-1ubuntu1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 9 (Ubuntu 9.3.0-3ubuntu1) configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [mjpeg @ 0x55f10b197740] Format mjpeg detected only with low score of 25, misdetection possible! Input #0, mjpeg, from 'movie.mjpg': Duration: N/A, bitrate: N/A Stream #0:0: Video: mjpeg (Baseline), yuvj422p(pc, bt470bg/unknown/unknown), 320x240, 25 tbr, 1200k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264)) Press [q] to stop, [?] for help [swscaler @ 0x55f10b1e45c0] deprecated pixel format used, make sure you did set range correctly [libx264 @ 0x55f10b19e480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x55f10b19e480] profile High, level 1.3 [libx264 @ 0x55f10b19e480] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=4 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'movie.mp4': Metadata: encoder : Lavf58.29.100 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 320x240, q=-1--1, 25 fps, 12800 tbn, 25 tbc Metadata: encoder : Lavc58.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 frame= 552 fps=329 q=-1.0 Lsize= 1040kB time=00:00:21.96 bitrate= 387.8kbits/s speed=13.1x video:1032kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.705626% [libx264 @ 0x55f10b19e480] frame I:3 Avg QP:22.06 size: 8966 [libx264 @ 0x55f10b19e480] frame P:139 Avg QP:24.14 size: 4437 [libx264 @ 0x55f10b19e480] frame B:410 Avg QP:28.43 size: 1007 [libx264 @ 0x55f10b19e480] consecutive B-frames: 0.9% 0.0% 0.5% 98.6% [libx264 @ 0x55f10b19e480] mb I I16..4: 0.2% 99.8% 0.0% [libx264 @ 0x55f10b19e480] mb P I16..4: 0.3% 23.5% 0.3% P16..4: 24.7% 24.3% 24.9% 0.0% 0.0% skip: 2.0% [libx264 @ 0x55f10b19e480] mb B I16..4: 0.2% 3.1% 0.0% B16..8: 26.9% 10.8% 3.0% direct: 5.8% skip:50.3% L0:46.9% L1:32.8% BI:20.3% [libx264 @ 0x55f10b19e480] 8x8 transform intra:96.9% inter:91.8% [libx264 @ 0x55f10b19e480] coded y,uvDC,uvAC intra: 90.4% 86.6% 25.4% inter: 31.2% 32.5% 3.5% [libx264 @ 0x55f10b19e480] i16 v,h,dc,p: 18% 27% 11% 45% [libx264 @ 0x55f10b19e480] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 23% 39% 2% 3% 2% 4% 4% 5% [libx264 @ 0x55f10b19e480] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 15% 17% 8% 7% 8% 9% 9% 11% [libx264 @ 0x55f10b19e480] i8c dc,h,v,p: 57% 18% 24% 2% [libx264 @ 0x55f10b19e480] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x55f10b19e480] ref P L0: 34.8% 9.1% 35.6% 20.6% [libx264 @ 0x55f10b19e480] ref B L0: 62.4% 27.4% 10.2% [libx264 @ 0x55f10b19e480] ref B L1: 87.0% 13.0% [libx264 @ 0x55f10b19e480] kb/s:382.75
*1: そうやって高級機とコンデジの差別化をしていったのだろうけど、結果、スマホのカメラに駆逐されてコンデジ市場壊滅という展開になったあたりがなんと申しましょうか。
[ ツッコむ ]
#2 [pc] コンデジ用のACアダプタってもう入手できないのだろうか
Canon PowerShot A300 を使って実験する際、電池が切れちゃうのが厳しいなと。ACアダプタで動かせないものか。
ググってみたら、ACK800 という型番のACアダプタが存在していたらしい。しかし、当然ながら今では生産終了。
PowerShot A300 のACアダプタ端子には、3.15V と書いてある。また、ACK800についてググってみたら、3.15V/2A という情報も見かけた。
3V/2A のACアダプタを入手して、代用している事例も見かけた。
_電源アダプター「ACK800」の代用品:ねこひこ徒然草:SSブログ
秋月でも3V/2AのACアダプタは売ってたりするので、そこらへんはなんとかなるのかもしれない。
ただ、PowerShot A300側の、ACアダプタのプラグ形状が分からない…。そこが分かれば変換ケーブル・変換プラグを作れるのかもしれないけど。
もっとも、そもそも、PowerShot A300のようなコンデジは、常時電源を入れて使用することを想定してないわけで。熱でCCDにノイズが入りまくるし。PCからリモート操作して云々というのがそもそも異常な状態だろうから、ましてACアダプタで連続稼働なんてしちゃったら、すぐに壊れるよな…。やめておいたほうがいいだろう…。
実際、「gphoto2 と PowerShotシリーズを使ってタイムラプス映像を作ろうとしたら2台も壊れちゃった」という事例を見かけたりもして。
_Time-Lapse movies with gphoto2
連続稼働はちょっと無理な製品シリーズなのだな…。
ググってみたら、ACK800 という型番のACアダプタが存在していたらしい。しかし、当然ながら今では生産終了。
PowerShot A300 のACアダプタ端子には、3.15V と書いてある。また、ACK800についてググってみたら、3.15V/2A という情報も見かけた。
3V/2A のACアダプタを入手して、代用している事例も見かけた。
_電源アダプター「ACK800」の代用品:ねこひこ徒然草:SSブログ
秋月でも3V/2AのACアダプタは売ってたりするので、そこらへんはなんとかなるのかもしれない。
ただ、PowerShot A300側の、ACアダプタのプラグ形状が分からない…。そこが分かれば変換ケーブル・変換プラグを作れるのかもしれないけど。
もっとも、そもそも、PowerShot A300のようなコンデジは、常時電源を入れて使用することを想定してないわけで。熱でCCDにノイズが入りまくるし。PCからリモート操作して云々というのがそもそも異常な状態だろうから、ましてACアダプタで連続稼働なんてしちゃったら、すぐに壊れるよな…。やめておいたほうがいいだろう…。
実際、「gphoto2 と PowerShotシリーズを使ってタイムラプス映像を作ろうとしたら2台も壊れちゃった」という事例を見かけたりもして。
_Time-Lapse movies with gphoto2
連続稼働はちょっと無理な製品シリーズなのだな…。
[ ツッコむ ]
#3 [pc][neta] カメラメーカがWebカメラを作ったりしないのかなあ
カメラメーカがWebカメラ・USBカメラを作ったら最強の製品が出てきそうだなと思ったりもして。Webカメラって失礼ながらゴミ画質な製品ばかりなわけで、そんなところに本職(?)が乗り込んでいったら、これはもう間違いなく無双状態じゃなかろうか、などと妄想を。
もっとも、今から数千円程度のショボい商品作ってどうするんだよ、赤字になるわ、とか言われちゃうのが関の山なんだろうな…。
そんなに高画質が欲しいなら一眼レフデジカメ買ってくださいね、とも言われちゃうのだろうな。やだよ。デカくて邪魔だし。液晶ディスプレイの上にちょこんと乗せられそうな小さくて可愛いヤツがいいです。
もっとも、今から数千円程度のショボい商品作ってどうするんだよ、赤字になるわ、とか言われちゃうのが関の山なんだろうな…。
そんなに高画質が欲しいなら一眼レフデジカメ買ってくださいね、とも言われちゃうのだろうな。やだよ。デカくて邪魔だし。液晶ディスプレイの上にちょこんと乗せられそうな小さくて可愛いヤツがいいです。
[ ツッコむ ]
2020/06/23(火) [n年前の日記]
#1 [zatta] この国では1位じゃなきゃダメなのかもしれない
スパコン富岳が1位の成績を出したというTVニュースが流れていて、それを眺めながらなんとなくぼんやりと思ったのだけど。あの時の文科省の役人のプレゼンって「こりゃダメだ」感に満ちてたけど、実は結構正しいことを言ってたのかなあ、と。
おそらくだけど、2位だったらこうしてTVニュースになってないよなと…。
例えばの話。NHKで放送されてる「チコちゃんに叱られる!」というTV番組の中で、時折、「日本一(世界一)は○○と知ってるけど、じゃあ、2位は?」と尋ねてくるコーナーがあって。これがもう、見ていて頭を抱えたくなるぐらいに、自分達は2位が何なのかを知らないわけで…。2位だってスゴイことなのに、1位じゃないという、ただそれだけの理由で、全然認知されてない。悲しいけれど、自分達は所詮その程度のオツムしか持ってない民族ってことなんだろうなと毎回認識させられるというか。
そう考えると、文科省が言ってた「1位じゃなきゃダメなんです」は、「(自分達は2位でも3位でもいいと当然分かってますよ。でもね、日本国民は1位以外価値が無いと決めつける救いようのない大馬鹿揃いだから)1位じゃなきゃダメなんです」という意味で主張してたのだろうか、と…。それもそれで、なんだかこっちにとってはちょっと悲しい話なのかもしれないなと思えてきたりもして。
それはさておき。TVニュース内でインタビューを受けてた富岳の関係者は、「使いやすさを重視している」等の発言をしていて。また、関連記事をググってみたら、省電力性能云々を重視して設計したとか、1位を取ることにこだわってない、等の話もあって。ハードウェアだけではなく、関係者のプレゼンの仕方もアップグレードした感が。全てが Ver. 2.0 になってる…。
ところで。使われてるCPU、A64FXがARMベースのCPUと知り、興味が湧いてググってみたけど…。何が何だか分からない…。どのへんがARMのソレで、どのへんが独自性なのか、それすら分からず。まして富岳全体のアーキテクチャとなると、これがもうちんぷんかんぷん。よくまあこんなものを作れるよなあと…。NHK教育で放送してる「サイエンスZERO」で説明する回が欲しいくらいかも。
おそらくだけど、2位だったらこうしてTVニュースになってないよなと…。
例えばの話。NHKで放送されてる「チコちゃんに叱られる!」というTV番組の中で、時折、「日本一(世界一)は○○と知ってるけど、じゃあ、2位は?」と尋ねてくるコーナーがあって。これがもう、見ていて頭を抱えたくなるぐらいに、自分達は2位が何なのかを知らないわけで…。2位だってスゴイことなのに、1位じゃないという、ただそれだけの理由で、全然認知されてない。悲しいけれど、自分達は所詮その程度のオツムしか持ってない民族ってことなんだろうなと毎回認識させられるというか。
そう考えると、文科省が言ってた「1位じゃなきゃダメなんです」は、「(自分達は2位でも3位でもいいと当然分かってますよ。でもね、日本国民は1位以外価値が無いと決めつける救いようのない大馬鹿揃いだから)1位じゃなきゃダメなんです」という意味で主張してたのだろうか、と…。それもそれで、なんだかこっちにとってはちょっと悲しい話なのかもしれないなと思えてきたりもして。
それはさておき。TVニュース内でインタビューを受けてた富岳の関係者は、「使いやすさを重視している」等の発言をしていて。また、関連記事をググってみたら、省電力性能云々を重視して設計したとか、1位を取ることにこだわってない、等の話もあって。ハードウェアだけではなく、関係者のプレゼンの仕方もアップグレードした感が。全てが Ver. 2.0 になってる…。
ところで。使われてるCPU、A64FXがARMベースのCPUと知り、興味が湧いてググってみたけど…。何が何だか分からない…。どのへんがARMのソレで、どのへんが独自性なのか、それすら分からず。まして富岳全体のアーキテクチャとなると、これがもうちんぷんかんぷん。よくまあこんなものを作れるよなあと…。NHK教育で放送してる「サイエンスZERO」で説明する回が欲しいくらいかも。
[ ツッコむ ]
2020/06/24(水) [n年前の日記]
#1 [python] pythonを勉強中
先日書いた、CSVファイルを読み込んでhtmlを生成するPythonスクリプトを改良中。既存のhtmlも一緒に読み込んで、特定部分を書き換えて上書きするスクリプトにしたいなと。そこまで処理できれば、もうちょっと作業が楽になるはず。
SJISで書かれたhtmlを読み込んで、またSJISで上書きするあたりでハマるかなと思ってたけど、今のところ問題無く処理できているようで。昔は結構苦労したような気がするけど…。Pythonも改良されている、ということなのかな…。
SJISで書かれたhtmlを読み込んで、またSJISで上書きするあたりでハマるかなと思ってたけど、今のところ問題無く処理できているようで。昔は結構苦労したような気がするけど…。Pythonも改良されている、ということなのかな…。
[ ツッコむ ]
2020/06/25(木) [n年前の日記]
#1 [prog] Godot Engine を起動して眺めてる
Godot Engine 3.2.1 を起動して、以前作ってたプロジェクトを眺めてたり。どうやってここまで作ったのか、すっかり忘れてる…。ヤバイ…。
[ ツッコむ ]
2020/06/26(金) [n年前の日記]
#1 [nitijyou] 体調がよくない
昨日あたりからどうも体調が…。ずっと微妙に息苦しいといか…。なんだろコレ…。寝たら治るかなと思ったけど、改善した感じはしない…。
[ ツッコむ ]
2020/06/27(土) [n年前の日記]
#1 [nitijyou] 体調がよくない
どうにも息苦しい感じが。何だろコレ。
[ ツッコむ ]
2020/06/28(日) [n年前の日記]
#1 [nitijyou] 体調がよくない
手足の先から血の気が引いてる感じがする。冷たさを感じるというか。心臓から末端まで血液が送れていないのか、そもそも酸素が取り込めてないのか。
[ ツッコむ ]
2020/06/29(月) [n年前の日記]
#1 [nitijyou] 体調が悪い
体がだるくて一日中横になってた。
[ ツッコむ ]
2020/06/30(火) [n年前の日記]
#1 [nitijyou] ローカルに溜めた日記を見直してたり
さすがにそろそろ日記ページをアップロードしたい。ローカルで誤字脱字その他が無いかチェック中。量が多過ぎて時間が…。もうちょっとチマチマとアップロードしておけばよかった…。
[ ツッコむ ]
以上、30 日分です。