動画眼3のアップデート 2022年4月

Pocket

2021年末に公開した動画眼3をちょこっとアップデートしました。

コードサインができたら正式に3.0にしようかなと思い2.9.9としてましたがまだWindowsで実現できてないので2.9.10とします(笑)。なんかよくよく調べても安い証明書でコードサインしたところでWindows上でのセキュリティ警告の出方はほとんどかわらないっぽいのと、現状での反響をみるとデジタル証明書の費用が見合わない気がして…

Mac版は後述の必要性があってデジタル署名してみました。MacとWindowsで別個に年1万円くらいするのが地味に痛いです。なんせ無料配布のソフトなのでご勘弁ください。未署名だと会社のPCにインストールできないよとか具体的なデメリットをご連絡いただければモチベーションになるかも知れません。

ともあれ変更内容と修正内容について説明していきます。

■新機能

SRT形式の字幕ファイルのインポートに対応

SRT形式とは字幕の形式の1つで、実は動画眼2ではこの形式の読み込みに対応していました。Premiere Proが音声テキスト書き起こしにベータ対応した時点で実装したんですが、その後、話者識別フラグ(「話者 1」「話者 2」)が書き出されるテキスト形式を使った方が便利だと気付いて動画眼3ではそちらを使う用にし、SRT形式でのインポートはつけていませんでした。

しかし先日試したNottaというクラウド書き起こしサービスでもSRT形式出力が可能で、より様々な書き起こし手段への対応という観点で復活させた形です。

使い方はPremiere Proテキストの追加読み込みと同じで、「ファイル」メニューの「ログを追加する(インポート)」を開きます(今回「インポート」という文言を足してみました)。「ファイルを開く」ダイアログが開くの下部のプルダウンメニューでSRT形式を選択します。Windows版なら最初から形式選択プルダウンメニューが見えていますが、macOSの場合は左下の「オプション」を押さないと出て来ないのでご注意ください。

macOSでのダイアログ例

SRT形式には話者識別の情報が含まれないので、インポート時点ではすべて話者コード0になります。

自動スクロールの抑制チェックボックスを追加

動画眼3では動画の再生に伴ってメモ一覧が連動してスクロールします。ただ手動でメモ一覧をスクロールした際に、強制的に元の再生位置に戻るのがフラストレーションに感じることもありました。

そこで今バージョンでは自動スクロールをON/OFFするチェックボックスをつけてみました。設定は保存されます。

  • 手動スクロールしたら自動スクロールが解除される
  • 再生地点を移動したらまた自動スクロールが再開される

みたいな制御も検討していますが、どういう形が便利か詰め切れてないので、一旦任意でON/OFFという形にしてみました。ご意見いただければ幸いです。

ちなみに従来でもメモ内容を編集している時は自動スクロールは抑止されていました。

動画編集ソフトライクなJ/K/Lショートカットに対応

Premiere ProやDaVinci Resolve、frame.IOといった動画編集ソフトで一般的なJ/K/Lキーを使った再生制御ショートカットを実装してみました。再生速度をシームレスに加減速しながら視聴するためのシャトルダイヤル的な操作方法です。

  • Lキー:押す度に加速。停止中に押すと1倍速再生。
  • Kキー:停止キー(等倍再生に戻る)。停止中に押すと1倍速再生。
  • Jキー:押す度に減速。停止中に押すと0.75倍速再生。

文で読んでもイメージしづらいかもですが、指3本を横並びのJ/K/Lキーに置いて下記操作をすると幸せになれるかも知れません。

ちなみに動画再生ソフトではJキーで1xから更に減速していくとスローではなく逆方向再生に切り替わります。しかし動画眼3が使用するChromeブラウザのVideoコンポーネントが逆方向再生に対応しておらず、苦肉の策としてスローとなるようにしてみました。必要かどうかは微妙です。

またPremiere ProではKキーは常に停止。frame.IOでは停止からの再生もできるという違いがありました。わかってれば後者の方が便利かなと思いそちらに倣いました。

また各種テキストボックスにフォーカスがある時は聞きません(文字入力になる)。

■不具合修正

ログのインポート後に動作が不安定になるのを修正

別ファイルから追加読み込みした後に件数が多いと重くなってしまう不具合がありました。動作を最適化したのでPremiere Proからの書き出しファイルなど行数の多いデータでも瞬時に終わるようになったかと思います。

Premiere Proの書き起こしデータを読み込む際、話者名を標準の「話者 1」などから変更してあるケースに対応

Premiere Proの書き起こしデータ(テキスト形式)は標準で「話者 1」のようなフラグをもっています。従来この数字の部分を識別して動画眼3上での話者コード(色分け)情報に置き換えていました。しかしこれをPremiere側で事前に変更してしまうと正常に読み込めずクラッシュしてしまうバグをもっていました。

今回、もし数字を拾えなかった場合は一律で0を割り当て、正常にデータを最後まで読み込めるように修正しました。

M1 (Appleシリコン)用バイナリが実行できない問題の修正

macOS用として、M1 (Appleシリコン)搭載機用とIntel搭載機にわけてインストーラーを配布していましたが、前者が「壊れている」といったエラーになり使えない状態でした。現行macOSの仕様で、dmgファイルをローカルで生成してそこからインストールする分には動くのですが、一度サーバーにアップして、ダウンロードしたものを使うとセキュリティでひっかかるという仕様のようです。しかもM1のみ。ので、自分の環境では気付きませんでした。

今回コードサイン(デジタル署名)によって実行可能になったんじゃないかと思います。

言ってもそんなに重いソフトではないのでたいした差はないかもですが、とりあえず初回起動時の最適化がない分、起動が速い気がするくらいです。

内部ライブラリの更新(セキュリティ向上)

直接はユーザが意識することはないですが、内部のChromeコンポーネントが100系となるElectron 18系に更新されました。最適化やセキュリティアップデートも含まれるので、特に新機能の追加がなくても定期的にやっておきたいところです。

動画眼3の公開ベータ版をリリースしました

Pocket

2022年、あけましておめでとうございます。

秋ごろから取り組んでいた動画眼の新バージョン、動画眼3の公開ベータ版をリリースしました。なんとか2021年末を目標にしていましたが、やたら仕事が立て込んできて、仕事納め後に最終調整して大晦日も作業していたんですが、結局日をまたいでしまったので元旦リリースとしました。

残念ながら正式版としての公開は間に合いいませんでしたが、機能的にはほぼ完成していて、この後は配布方法の調整(ストアで配布するかとか)になりそうなので、まずは気軽に試せるインストーラー形式でも配布しておくという意味もあって一旦ベータ版として出すことにしてみました。是非お試しいただきフィードバックいただければと思います。

2022.1.7追記:

GitHubリポジトリも公開しました。改善要望やバグレポートなどはこちらのIssuesに直接投稿していただいてもOKです。

■ついにMacに対応!

2019年にフルスクラッチで再構築した動画眼2から2年半でまたもフルスクラッチした動画眼3の最大の見どころは、ついにmacOSに対応した点です。ElectronというWeb技術をベースにしたプログラミング環境に移植することで、ほとんど追加の手間なくWindows用とMac用に両対応させることができるようになりました。自分でもMacを使うことが増えてきていて、Windowsでしか使えない動画眼2をメンテナンスするよりも、ここで頑張ってまたゼロから作り直す手間をかけてもElectronベースに移行しておこうと決心したのです。現時点ではようやく動画眼2相当の機能を盛り込んだというレベルで、2->3になって新しくできるようになったことはそれほどないんですが…

両対応するにあたって、各OS標準のキーボードショートカットとのコンフリクトを避ける意図で、従来シリーズのショートカットから一部変更になったものがあります。特に再生、一時停止のCtrl + SpaceはmacOSではIMEの切り替えなどで使われるので、今回、前後スキップのCtrl + Q/Wと並んでCtrl + Eに変更してみました。個人的には左手小指をCtrlキーにおき、薬指、中指、人差し指をQ/W/Rキーにおいておくとなかなか効率が良いかなと思います。ただし左Ctrlキーが左Shiftキーの上にないWindowsの日本語キーボードユーザも多いと思うので、今後なんらかの手当(ユーザカスタマイズなど)を検討したいと思っています。

またElectronは内部的にはブラウザのChromeを丸まる抱えているような構造で、メディア再生周りもHTML5技術ベースになります。その影響で、対応可能な動画形式がかなり限定される結果となりました。ただデファクト中のデファクトであるmp4は問題なく扱えるので現実としてそう困ることもないかなという割り切りです。またブラウザベースでインストール不要の動画眼Liteを活用するための推奨動画フォーマットはmp4となるので、ご理解いただければと思います。

正式版までの目標

今後、動作検証も兼ねて自分でも実務で使い、細かい調整やバグ修正をしていきつつ、正式版では以下の点を目指しています。

  • コードサイニング証明書によるデジタル署名
  • 自動アップデート機能の実装

1つ目は主にインストール時の警告抑止のためです。Windowsだと結局ダウンロード実績がないとSmart Screen警告が出てはしまうのですが、一応身元表示が出るだけいいかなと。また最終的にMicrosoftストアやMac AppStoreなどでの配布も視野にいれており、そのためのマイルストーンとして念願のコードサイニング証明書取得にむけて手続きを進めているところです。

2つ目は、やはり当サイトを熱心にチェックいただいてる方ばかりではないと思うので、アプリを起動するたびに自動的に新バージョンをチェックしてお知らせするようにしたいと思います。実はこのためにもコードサインが必要だったりして、1つ目とセットで今後の課題としています。

■動画眼のその次

動画眼は基本的に動画ファイルに対してメモをチャプターとして打ち込んでいくツールで、UTやインタビューの事後分析のためのツールです。セッション中にリアルタイムで入力するために動画眼Noteがありますが、今後はこれを大幅に刷新していく予定です。単にセッション中の記録だけでなく、事前のタスク設計や事後のまとめ作業などUT実務のより広いプロセスをカバーする統合ツールを構想しています。これこそWin/Mac両対応にしたいと思っての、その練習として先に動画眼3に着手したようなものです。Electronにもだいぶ慣れてきたので、今年はいよいよこちらの新ツールにも取り組んでいきたいと思います。

今年もよろしくお願いいたします。