動画再生速度を切り替える方法

eLearningのセミナーや講座の動画を利用する多くのユーザーは時間効率化のために等倍速ではなく、1.5倍や2倍速にして動画を閲覧することが多いようです。よって、eLearningのサービスプロバイダーでは配信メディアとして音声ピッチを変えず動画再生速度を調整可能なWindows Mediaを選択することが多いようです。

Flash配信においてもブラウザに組み込み同様のことを実現するソフトウエアが存在します。しかしeLearningサービスを利用するユーザー層の多くは別途ソフトウエアをインストールする行為に大きな抵抗を感じる場合が多く、よってeLearningのサービスプロバイダはそのようなソフトをインストールさせずに動画再生速度の調整をさせる必要があります。

eLearningで用いる多くの動画の場合、細かい動画再生速度の調整は必要がなく、1.5倍、2.0倍など決まった速度に切り替えるだけで十分なことが多いようです。今回はこのような動画再生速度を「切り替える」方法をご紹介します。

今回ご紹介する方法は等倍速動画(元動画)に対して1.5倍速、2.0倍速の動画を用意してプレーヤー上でそれらを切り替えることで疑似的に速度を変える方法です。ですので予め1.5倍速、2.0倍速の動画を作成します。
作成には音声ピッチを変えずに動画速度を変換できるツール(ペガシス TMPGEnc Video Mastering Workなど)を利用します。
その後元動画、1.5倍速、2倍速の動画全てをVideo Cloudへアップロードします。その際タイトルや説明などのメタ情報は同じにしておきます。

まずはサンプルをご覧ください。


http://dev.brightcove.co.jp/thase/doublespeed/doublespeed.html

このサンプルではボタンによって等倍速、1.5倍速、2.0倍速の動画を切り替えることができるようになっています。
必要な速度分だけ動画を用意すれば、されに細かく速度切り替えを行うことが可能です。

注目するポイントは動画を切り替えた際に同じ再生ポイントから再生が始まることです。これは動画が切り替わる直前で現在再生中の動画の再生ポイントを覚えておき、動画が切り替わったあとに指定された動画の速度に応じて再生ポイントを再計算して再生ポイントを合わすことで実現しています。あたかも同じ動画の速度が変わったようにみえるかと思います。

ある程度の帯域があれば動画の切り替えのタイムラグはほとんど気になりません。
比較的低い帯域のユーザーを考慮する場合には動画のビットレートを落とすことで切り替え速度をある程度早くすることが可能です。
eLearningで用いる動画の多くは音声主体のものが多いので画像のビットレートを落としても支障が少ないケースが多いかと思います。

お気づきかもしれませんが速度の違う動画では動画の尺(長さ)が異なります。例えば等倍速で1分の再生ポイントは2倍速では30秒となります。今回のサンプルではその表示に対する対処はしていません。(プログレッシブバーは全体の尺の何%を指すのでうまく対処できています)。これはBEMLの記述と若干のプレーヤーのカスタマイズで対処可能になりますが今回は省略させています。
 

■さらなる改善

  • 今回のサンプルでは速度切り替えにHTMLボタンを使用していましたが、速度の選択肢をコンボボックスにしてプレーヤー内に収めることも可能です。
  • 今回のサンプルでは3種類の速度の動画を直接HTML内で指定していますが、元動画のカスタムフィールドを使って1.5倍速、2倍速の動画IDを登録しておけば、元動画から1.5倍速、2倍速の動画IDを取得可能になります。
  • 今回紹介した方法では1つの元動画から動画変換ツールを使って1.5倍速、2倍速の動画を作成して、さらにそれをVideo Cloudにアップロードする必要がありますが、いくつかのミドルウエアを利用して、プログラムを記述すれば1つの元動画を指定するだけですべてを一気に行うことも可能です。

どうでしたでしょうか? Flash配信でも手軽に再生速度を切り替えることが可能であることが分かっていただけたと思います。

動画登録の簡素化やユーザビリティを考慮した見せ方まで考えると「さらなる改善」まで行う必要があるかと思います。
興味のある方はブライトコーブのプロフェッショナルサービスへ一度ご連絡をいただければと思います。