ClickOne形式で配布するアプリのセットアップ手順

Pocket

開発ツールの都合で、動画眼はじめ当サイトで配布するWindows向けツールの配布方法を従来のSetup.exeインストーラーを利用する形式から、ClickOneというブラウザからインストールする形式にシフトしていこうと思います。そこで、馴染みのない方向けに簡単な説明をば。

ClickOneの特徴

ClickOneはMicrosoftの開発ツールVisual Studioに含まれる配布形態で、以下のような特徴があります。

■配布者側

  • 開発ツールからメニュー一発で直接配布サーバーに登録でき、圧縮やアップロードの手間が省ける。

■ユーザ側

  • ブラウザ上の「インストール」ボタンからインストールでできる(後述のブロック解除手順は必要)
  • 更新版の自動確認機能がある
  • 前バージョンに戻す機能もある

など双方にメリットがある方法となっています。

インストール手順

動画眼を例にとって説明します。配布ページのインストールリンクを辿っていただくとこんなページが出ると思います。

clickone1

「インストール」ボタンをクリックするとsetup.exeがダウンロードされ実行されます(ブラウザの設定によっては警告が出ると思いますが、実行を許可してください)。

続いてこれまたWindowsのバージョンやセキュリティ設定、対策ソフトの状況にもよるのですが、未署名配布なので警告がでると思われます。Windows10の場合を例にとると、こんなダイアログが出るはずです。

clickone2

「詳細情報」リンクをクリックしてもらうと、下のように「実行」ボタンが現れます。

clickone3

インストーラーであるsetup.exeと、インストール後の実アプリの初回実行時の計2回この操作が発生します。お手数ですがご勘弁ください。2回目の実行を許可していただくと、従来通りの画面が起動すると思います。

更新手順

アップデート版がサーバーに公開された場合、起動時に「利用可能な更新があります」というダイアログが表示され、「OK」ボタンを押せば最新版がダウンロードされます。いちいちブラウザで当サイトにアクセスして最新版をダウンロードする手間がありません。もちろんそこで「スキップ」もできます。

ロールバック手順

一度最新版にしたものの不具合があるので前バージョンに戻したいという場合、Windowsのコントロールパネル「プログラムと機能」から1つ前のバージョンに戻すことができます。下のように「道具眼」を右クリックして「アンインストールと変更(U)」を選びます。

clickone4

そうするとこんなダイアログが出ます。この例では前バージョンが保存されていないのでグレーアウトしてますが、存在する場合は「アプリケーションを以前の状態に復元します。が」が選択可能になっているはずです。

clickone5

当面、問題が指摘されてない限り、順次このClickOne方式にしていこうと思います。

ようやくiOSアプリ第一弾AccentViewer公開

Pocket

最初にdefault languageの設定を間違え、Appleに修正依頼をするも梨の礫。結局半年分のライセンスを諦めて別アカウントを取り直してみるも契約情報が既に存在するというエラーが出て有料アプリ設定ができず、これまたサポートに出して返事がない。結局日本のサポートに電話したところ、iTunes Connect設定は日本の部署では触れないが、要求は翻訳して本国に伝えるというのでまたまた待つことしばし。なんだかんだで二ヶ月ほど遅れてしまいましたが先ほどようやく公開にこぎつけました。

一本目はAccentViewerという文字通り日本語のアクセントを調べるアプリ。Twitterでとある現役の声優さんから頼まれて作ってみました。元々大辞林には見出し語の脇に小さくアクセント位置を示す数字が記載されてるんですが、これを視覚的に見やすい形で変換して表示するものです。Yahoo!辞書が大辞林のデータでひけるのでそれを利用してます。声優とかアナウンサーとか特定業種の人や日本語を学んでいる外国人の人などニッチ向けなんであんまり売り上げは期待してないです。むしろ知ってる声優さんがブログやTwitterで触れたりしてくれたら密かにニヤニヤして満足って感じ(笑)。

AccentViewer - 道具眼 (do-gugan)

 

また道具眼謹製iOSアプリの専用サイトを開設しました。

//aika.do-gugan.com/iosapps/

またTwitterアカウントも専用のものを作りました。アプリ情報だけチェックしたいという方はこちらをフォローしていただくと良いかと思います。

http://twitter.com/do_gugan_apps

 

第二弾はもう少し一般向け(でもないか?)な動画プレーヤーアプリになると思います。一応完成してるので後は紹介文や画面写真などを用意してなるべく間を置かず公開したいと思います。

どうぞよろしくお願いします。

動画眼が映像の静止画保存に対応しました

Pocket

静止画キャプチャできないかというお問い合わせをいただいたのでちょっと手抜きですが対応してみました。Ver 1.5.1から対応になります。ダウンロードはこちらからどうぞ。

何年か前に検討した時に見つけた方法はどなたかが作ったライブラリを埋め込んで対応するやり方で、そのライブラリを含めた時の頒布条件が不明確だったので採用はしませんでした。で、今聞かれてふと思いついたのは、オープンソースの汎用映像変換ツールffmpegを利用する方法です。動画眼の裏でffmpeg.exeを起動し、タイムコードやファイル名を渡してやれば、後はffmpegが勝手にやってくれます。ただしこのやり方には多少問題点もあって、

1. ffmpeg.exeの同梱配布の許諾関係がよくわからない

オープンソースで無償利用可能ではありますがGPLというライセンスで配布されているので、これを利用すると動画眼もまたGPLで公開しなければならないなどの制約が生まれます。別にソースコードを公開する事自体は構わないのですが、更新の度にそれをサイトにアップするのも面倒らし、ライセンス条文をパッケージに含めなければならないのかとか、詳しいことが勉強不足でよくわかってません。

なので、とりあえずdgMP4Muxer等と同様、ffmpeg.exe自体は別途ダウンロードしてご自分で動画眼のインストールフォルダにコピーしていただく、という方式を採ってみました。お手間ですがご了承下さい。ダウンロードできるURLはマニュアルに示してあります。将来的に時間が取れたらちゃんと勉強してインストーラーに同梱する方向で考えてみたいと思います。

2. 動画眼と対応動画形式が異なる

動画眼はWindows Media Playerコンポーネントを利用して動画を扱います。今回の機能はそれとは全く独立にタイムコード(秒数)をffmpegに渡して処理をおまかせしています。なので、動画眼(=Windows Media Player)で読み込めてる動画形式が必ずしもffmpegで扱えるとは限りません。一般にはffmpegの方が扱える範囲は広いはずではありますが。また同じ秒数を指定しているのに微妙にズレたところが切り出されるといった可能性もないとは言い切れません。この辺り、まだほとんど検証ができてませんので、上手くいかなかったらごめんなさい、ということで。連絡いただければこちらで検証してみられるかも知れません(結局はffmpeg次第なのでどうしようもないかも知れませんが)。

3.やや処理が遅い

動画眼で表示している映像とは別に、裏でffmpegがその動画を開き、当該秒数のコマを静止画に保存するので、若干処理に時間がかかります。特に、DVD-Rに焼いてある映像ファイルを直接開いている場合などは顕著かも知れません。実際には「カシャーッ」とシャッター音がしてから2,3秒は裏で処理をしていると思って下さい。100行のメモ欄を一括選択して出力するとヒドく時間かかるかも知れません。またそういう場合のプログレスバー表示なども未実装です(すみません…)。

とまぁ、手抜き且つ実験的な実装ですが、それでもないよりはあった方が嬉しいという人もいるかと思い、最低限の手間で実装できる範囲でリリースしてみます。ご意見、ご要望などあればお知らせ下さい。

動画眼にちょこっと機能追加 MP4チャプター化支援

Pocket

動画眼にちょっとした機能を追加しました。

動画眼で作成したログ(タイムスタンプ付きメモ)を、MP4コンテナの動画に埋め込めるQuickTimeチャプター形式のテキストファイルとしてエクスポートする機能です。

■チャプター付きMP4コンテナ動画を作るとどうなるか?

MP4コンテナは三洋のXactiシリーズなど動画対応デジカメやiPhone、iPadといったiOSデバイスで中心的に使われているコンテナで、この形式は動画ファイル単体で音声トラックを複数保持したり、字幕やチャプターを保持したりといったことができます。

なので、動画眼で記録したログをチャプター情報としてファイルに埋め込んでしまえば、今までのように動画ファイルとログファイルをセットにしてやりとりする必要がなくなります。また動画眼なんていうよくわからないツールを先方にインストールしてもらわなくても(笑)、より一般的な再生ツールで閲覧してもらうことができます。

具体的な動作の様子をご覧に入れます。

まずはWindowsでもMacでもLinuxでも動作し、フリーで、もっとも多くの形式に対応したプレーヤーであるVLCでの例(各画面写真はクリックで拡大)。動画眼のログ単位でツールバーの「|<」、「>|」ボタンでスキップしたり、メニューで一覧を表示してそこから選んだりして頭出しをすることができます。

VLC_Sample 

こちらはAppleのQuickTime Playerで表示した例。タイムスライダーの脇にチャプター名が表示され、そこがそのままポップアップメニューになって一覧から選ぶことができます。ただし、QuickTime Playerで開く場合は動画の拡張子を.m4vに変更してあげないとチャプターを認識してくれません。またこちらは「|<」、「>|」ボタンは機能しません。

しかし、QuickTime Playerは今時はiTunesと一緒に入るし、仮に相手の環境に入ってなかったとしても、名の知れた大手企業のツールなので頼みやすいですよね。

QTP_Sample

お次は、(まぁ、役に立つかわかりませんが)iPhoneでの例。

IMG_0525 IMG_0526

チャプターが埋め込まれた動画を再生すると、矢印の位置にボタンが出現します。これをタップすると右の画面に遷移し、一覧からチャプター名で選ぶことができます。

残念ながらiPadのファームウェア3.2.1ではスキップはできるものの一覧は表示されません。おそらく2010年秋のiOS4で対応するんじゃないかと思います。iPadならプロジェクターにも出せるし、プレゼンとかでも使えそうですね。

とまぁ、クライアントさんに動画眼で区切った映像データを渡すのに、動画眼依存から脱却しより汎用性のあるフォーマットに移行できることはメリットがあるのではないでしょうか?

■実際の手順

今回動画眼が対応したのは、ログをMP4に埋め込む為の規定の書式に変換して書き出すところまでです。実際にMP4ファイルに埋め込むところは後述の別のツールを用います。規定の書式といってもファイル形式自体はテキストファイルなので、区別するために、.chapters.txtという二重拡張子のファイル名を用います。

作成はメニュー一発。「ファイル」->「chapters.txt形式でエクスポート…」を選ぶだけです。規定では動画ファイルと同じ場所に、動画ファイル名の拡張子違いのファイルが保存されます。「hoge.mp4」を開いていた場合は「hoge.chapters.txt」となります。この拡張子違いのファイル名で同じ場所にあることがポイントなので下手に変更しないで下さい。

さて、実際にchapters.txtをmp4の中に埋め込む作業がちと面倒ですが、慣れればどうってことないと思いますので、最初だけ頑張っておつきあい下さい。

・「パソコンとはDOS時代からの付き合い。コマンドプロンプト操作はへっちゃら」という人向けの乱暴な説明

こちらからmp4v2 tools trunkというアーカイブをダウンロードし、解凍してmp4chaps.exeというアプリケーションを適当な場所に保存します。で、実行はコマンドプロンプトで、

mp4chaps.exe –i –z 動画名.mp4

とするだけです。パスは適宜補完して下さい。動画名しか指定しないので、ここで同じ場所に拡張子違いでチャプターファイルを置いておくことが活きてくるワケです。-zオプションは「最適化」だそうで無くても平気かも知れません。

・「コマンドプロントは怖い。GUIでやりたい」という人向けに簡単なツール起こしました

dgMP4Muxerというツール作ってみました。元々個人の趣味用なので作りが雑だし、インストーラーもないですが一応GUIで上記作業ができます。ただし第三者のツールを裏で使うので、それぞれを拾ってきて解凍するなどの準備が若干必要です。具体的な手順はこちらのマニュアルをご覧下さい。チャプターを埋め込む分には、Audio欄やOther欄は空のままでOKです。Video欄、Chapter欄、Output欄だけが埋まってる状態で「Go!」を押せばできあがりです(普通はVideo欄に動画ファイルをドラッグ&ドロップすれば後は勝手に埋まります)。

■もし反響があれば、、、

やろうと思えば、動画眼から直接MP4ファイルにチャプターを書き込んでしまう機能を追加することはそう難しくはないです。逆にMP4ファイルを開いた時にチャプタ
ー情報があればログに変換して読み込む、といったことも可能でしょう。もはやMP4内のチャプターを直接編集するツール、といった装いです。XactiなどMP4形式がメインの人はその方が便利かも知れませんね。

MP4(内部映像H.264 AVC、音声AAC)はYouTubeやiPhone/iPadが採用したことで、多くの変換ツールや対応ハードが出回ってきています。グラフィックボードの演算能力を利用して高速に変換するソフトもあります。画質の割に小さなファイルサイズに縮みますし、こうしたチャプターや字幕といった付加データも自由に追加できるなど汎用性も高いです。PC上での動画ファイル形式として当面の主流になってくんじゃないでしょうかね。

あと、チャプターではなく字幕として埋め込みたい、なんてのもたぶん1日仕事くらいで対応できるんじゃないかと予想してます。こちらも要望があればチャレンジするかも知れません。

■オマケ:動画眼はMP4に対応してるの?

今回のバージョンアップで、動画を選択するファイルダイアログに置いて、.mp4と.m2ts(AVCHD形式のビデオカメラが使用)を対象として追加しました。時代的にこの2つはニーズが高いだろうと。

ただし実際に開けるかどうかはお使いのPCの環境に依存します。マニュアルにも繰り返し書いていますが、動画眼の動画再生周りはWindows Media Playerコンポーネントを利用しています。Windows Media Playerで開けるものは動画眼でも開けます。そしてWindows Media Playerがどの形式を扱えるかというのは、インストールされたコーデックによるのです。バージョンにもよります。Windows7に付属のWindows Media Player 12であればもしかするといきなりMP4が開けるかも知れません。逆にXP/Vista等に付属するWMP 8~11だと、別途コーデック(DirectShowフィルタ)をダウンロードして入れる必要があるでしょう。ウチはほとんどのマシンがWindows 7になってしまってますし、後から色々なソフトを入れてるので、もはや何と何を入れれば開けます、ということを調査するのは難しい状況にあります。場合によっては既存環境に影響も与えるので、そう気軽に「これを入れればOKですよ」と保証できないって側面もあります。ただ直感的には、ffdshowあたりが有力ではないかなと。

動画眼 v.1.3.9、地味な機能追加

Pocket

動画眼に地味めな機能追加を2点ほど。

■行編集にキーボードショートカット追加

従来、右クリックしてポップアップメニューから呼び出す必要があった行修正と行削除をメインメニューからもいけるようにし、そこにキーボードショートカットを追加してみました。

  • 行を修正 –> Ctrl+R
  • 行を削除 -> Deleteキー

Delete一発で行が消えてしまうのもどうかと思いましたが、まぁUndoあるしと思ってとりあえず確認無しにしています。ただ、動画眼のUndoはヒストリー型ではないので、ご注意下さい。

(ヒストリーってどういうアルゴリズムで実装すればいいんでしょうね。単にx個分のデータを保存するだけならいいんですが、途中まで戻って別の修正をした場合どうすんのか、とか考えると結構ややこしそう…)

■タイムスタンプ修正時の繰り上げ、繰り上げ処理

で、その行修正時に、タイムスタンプも修正できるように最近なったんですが、その際、秒カウンターを59以上に回すとちゃんと分カウンタが増えて、秒カウンタが0に戻る、というような動作を組み込みました。00秒や00分をまたいで増減するのがちょびっと楽になったと思います。

動画眼 Ver.2的なものへの着想

Pocket

えー、ぶっちゃけ最近仕事があんまなくてヒマなので、動画眼のVer.2製作に向けてアイデア出しと技術修練を始めてみました。 現時点の基本コンセプトは、

  • セッション中の記録を重視 (=動画眼Noteの強化)
  • 複数セッションの記録を集中管理
    • 同一タスクにおける他のセッションの記録を閲覧できる
  • 気になった現象から即座にカウンターを作成し、以後のセッションで発生回数を記録
  • タイムスケジューリング支援
  • タブレット等を使い手書きメモも書き込める
  • 簡易レポート出力

など。単に発生した事象を網羅的に記録するのではなく、観察者がセッションを追う毎に共通して発生する(=重要な)現象に気付き、そこを深掘りしていくという思考フローを支援するような作りを重視したいと思っています。

専任観察者が利用することが理想ですが、そういうリッチな現場ではなく、モデレーター(進行役)自身が利用することも考えて、時間管理用のバーグラフや、手書きメモ機能なんかも組み込んでみたいと思います。

とりあえずそんな考えで部品並べてみたコンセプトデザインはこちら(クリックすると拡大)。

dgnote_concept 一番下のメモ入力欄のプルダウンメニューで「カウンター作成」を選ぶと、「カウンター」枠にチェックボックスとして追加され、次セッションから発生率をカウントできるようになる感じです。あと、画面左では同一タスクの他のセッションではどうだっけ?ってのが閲覧でき、そこからコピペしたり、カウンター作成もできるようにしたいなと。

動画眼のウリであるピンポイント動画再生はもちろん搭載するつもりですが、全体から見れば1機能でしかないので、名称は「動画眼」ではなくなるかも知れませんね。「道具眼Note」とかどうでしょう。

さすがに、これくらいになるとテキストファイルで保存ってのは無理があるので、バックエンドにちゃんとしたデータベースを組み込んで作らないとなので、今はその辺の技術的研鑽を積んでいる状態です(ADO.NETとかXMLとか)。長い目で見守りつつ、なにか要望とかあればお気軽にお寄せ頂ければと思います。

動画眼 1.3.5 (バグ修正版)リリース

Pocket

動画眼のメモ入力欄で、

  • DeleteキーやShift+矢印キー(範囲選択)、End等のキーが効かない
  • 左端で←キーを押すとエラーになる

というご指摘を戴いたので修正しました。ダウンロードはこちらからどうぞ。

相変わらず細かいところでバグが残っていてすみません。

メモ欄以外でのキー入力もまとめて別のところで処理している都合上、ちょっと特殊な処理をしていて、一部のキー処理が無視されていたようです。全体的な処理を見直したので、テキスト欄におけるWindowsの一般的な挙動に近づいたと思います。

同日補足:

度々すみません。上記リリースに含まれるデスクトップのショートカットアイコンが壊れていましたので、1.3.6に更新しました。

動画眼インストーラーの動作検証

Pocket

先日リリースしたインストーラー版の動画眼、動画眼Noteですが、パッケージングを帰省中の実家で行ったため、XP環境や.NET Frameworkが未導入の環境で正しく動作するか未検証でした(Vistaでは複数台で検証済み)。

で、横浜に戻ってきたので、(VMWareによる仮想マシンですが)比較的クリーンな状態のWindows XP(SP3)で動作チェックしてみました。結果、当たり前ですがキチンと.NET Framework 3.5の導入プロセスが開始され、勝手にMicrosoftからダウンロード、インストールが行われた後、動画眼がセットアップされました。素晴らしい。マニュアルに「.exeがエラーになって起動できない時は、Windows UpdateやMicrosoftのサイトから、ほにゃららをDLして導入して下さい」などの説明がサックリ不要になったばかりか、ユーザの手間も大幅に減りましたね。Visual Studio 2008に大きく自腹を切った甲斐があったかな?

ちなみに、.NET FrameworkはVisual Studioで作成したアプリに共通で必要になるソフトウェアで、従来にそれを必要とするアプリを利用したことがあれば既に導入されており、その場合は改めて入れる必要はありません。ただ、必要バージョンが異なる場合は個別に導入が必要です。現行の動画眼、動画眼Noteでは.NET Framework 3.5という版を利用します。これは、XPにもVistaにも標準では入っていないので、どちらか先にインストールする際に上記導入処理が行われると思います。少々お時間を取らせますが、最初の1回だけなのでご了承下さい。

動画眼、動画眼Noteをインストーラー形式配布にしました

Pocket

前エントリにチラっと書いたんですが、動画眼でバグ修正があるたび(11、12月で5回m(..)m)に、差し替えていただくのはユーザビリティ的にどうよ、ってことで、インストーラーが作成できるVisual Studio 2008製品版を導入しました。しかも、Windows MobileやOfficeアプリケーション開発もできるProfessional版にdive from stage of Kiyomizu temple!! (Standard版より4万円ほど高いorz)。なんか開発系で回収できるよう仕事とってこなきゃ…

ともあれそういうわけで、めでたく動画眼および動画眼NoteをMSIインストーラー形式で配布できるようになりました。zipファイルを解凍していただくと、msiファイルとsetup.exeが出てきますので、setup.exeをダブルクリックしてインストールして下さい。デスクトップとスタートメニューにもショートカットが自動登録されます。おそらくですが、次回以降のバージョンも同様の操作で簡単に上書きインストールができるはずです。

また動作に必要な.NET Framework 3.5ですが、おそらくインストーラー起動時に未導入であれば自動的にMicrosoftからダウンロードされインストールしてくれるようになったんじゃないかと思います。ウチのマシンは全部導入済みで試せてないのですが。上手くいった、いかなかった等、お知らせ戴ければ幸いです。

難点はセットアップファイルの分、容量が増えてしまったことですが、まぁ企業ユーザさんがほとんどでしょうからご勘弁いただければと。あと、多分あまりニーズがないだろうということで、ソースファイルの公開を停止しています。単に面倒だからという理由なので、ご入り用の方がいれば用意します。ご連絡下さい。

動画眼 1.3.2 を公開しました

Pocket

入院中の余暇を利用して、動画眼をちょびっとバージョンアップしてみました。

某社の皆さんからリクエストを頂いていたのですが、入力済みのメモ行を右クリックして表示する編集ダイアログを刷新して、タイムコードも変更できるようになりました。

あと、細かい点ですが、いわゆるアバウト画面(ヘルプ->「動画眼について」で表示)を設置。サポートページURLへ跳べるハイパーリンクを貼っておきました。某社さんではクライアントさんに納品するデータに添付することもあるらしく、素性を知らずにもらった人がアクセスできるようにとの配慮です。

そろそろインストーラー形式での配布にしたいところですが、VisualStudio2008 Express EditionってMSIインストーラー作れないんですよね。手持ちの2005 Standard Editionをそろそろアップグレードするとしますかねぇ…お金ないけど。というか、2008からWindows Mobie(スマートフォン)向けのビルドはProfessional Editionからしか作れなくなっていて、どっちかうか決心がつかずにいたんですよねー。WMアプリで作ってみたいものはあるんですが、なかなかヒマもないし、とりあえず2008はStandardにしとこうかな…

というわけで、道具眼では皆様からのカンパを受け付けております(笑)。