Ver1.4.1の開発フェーズで、macOS版AGMPlayerに続き、macOS版AG-ムービーカッターの開発中で、リリース前の微調整中なのだが、今回の目玉機能になるトランジションの追加機能についても、微調整を行っている。Ver1.4.1のAG-ムービーカッターでは、「ファイル」メニューに「トランジションを追加」という項目が追加される。この項目を実行すると、表示中のファイルと、その次のファイルの間にトランジション期間が追加されるのだが、このトランジション期間では、前述の2つの動画が同時再生される格好になる。二つの動画を同時に再生しても混乱するだけなので、例えば、「クロスディゾルブ」の様な効果を同時適用できるのだが、こういうトランジション期間を追加するメリットとしては、二つの動画をいきなり切り替えると、何が起こったのか判らない、みたいな感じになってしまう場合にも、切り替わった事が判りやすく出来るから、と、言う事がある筈だ。映像的には、その逆で、二つの動画の切れ目は曖昧になるので、より滑らかに二つの動画を繋ぎたい、という様な場合にも、使われる事になるのかもしれない。日本の夏といえば「お祭り」と「お盆のお墓詣り」が同居しているので、それらの映像をイキナリ切り替えると違いがありすぎるので、混乱する可能性も高くなるのだが、トランジション期間を設けてやれば、お祭りの賑やかさがフェードアウトしつつ、お墓詣りの静けさがフェードインしてくるみたいな感じの動画も作れる様になる訳だ。言う事なので、トランジションでは、二つの動画を、判りやすく、かつ、滑らかに切り替えていく必要があるのだが、動画の最後というのは、音声と映像が全く同一のタイミングで終わる事は、普通は、ない。動画のフレームレートが30FPSの場合、動画は33.3333mSec毎にフレームが切り替わるのだが、この場合、音声のサンプリング周波数が44.1kHzなら、1470サンプル単位で音声を格納しないと映像と同じ時間で終了させる事は出来なくなるのだが、普通は、そんな中途半端なサンプル数で録音したりはしないからだ。その結果として、二つの動画を連結する場合には、二つ目の動画での音ズレを防止するためには、映像と音声の時間が同一になる様に、映像か音声の長さを調整する必要が生じる。実際の所としては、映像のフレーム期間よりも、音声のサンプル期間の方がずっと短いので、音声側の時間を調整する事で、上記の問題には対応する事になる筈なのだが、問題は、上記の通りなので、動画の総時間というのは、言うほど、単純でもない訳だ。具体的には、動画の総時間が映像ベースで30秒、と報告される場合にも、音声は29.99秒しか格納されていない場合もあって、この様な場合には、30秒分の動画データを取得しようとしても、音声側でデータが得られないので、いくら待ってもデータは得られない、という事になる。一応、30秒、という事になっている動画のデータを取得する場合にも、映像側と音声側のデータの取得状況を確認し、例えば、音声側のデータ取得がエラーしてそれ以上取得できない場合には、ダミー音声を付加して、帳尻合わせを行う必要が生じたりもする訳だ。言う事なので、二つの動画を連結する必要がある場合には、映像と音声の時間が合わない事を前提に、色々な対策が必要になるのだが、トランジションを追加する場合には、より、問題は大きくなる。具体的には、一応、30秒という事になっている動画を次の動画と連結する場合には、映像か音声のどちらかが終了した時点で、次の動画に切り替えても、大した問題にはならないのだが、トランジション効果を付加する場合、その効果は30秒の動画の最後の5秒間をトランジションとする、みたいな定義になるので、最後の5秒間が4.5秒間になってしまうと、効果が途中で終わってしまう格好になってしまう訳だ。「スライド」の様な効果の場合、スライドの位置が時間とともに変わっていくのだが、トランジション効果の最後付近で、まだ、完全に端にまで移動していないのに、次の動画に切り替わってしまったりする事になる訳だ。言う事で、トランジションを追加する、という、普通に鑑みれば、単純と思われる処理についても、実際には、色々と苦労がある訳なのだが、こういった問題は、地道にやっていれば潰せる問題ではあるので、時間はかかるものの、完成には近づいている今日この頃だ。Adsense)サービスを利用しています。使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。パートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。