OpenMeetingsへ外部動画登録

先日、数百名規模の講習会を行い、全員が主会場に入りきれないため別会場へプロジェクタを設置して、OpenMeetingsの映像をパブリックビューイング形式で見てもらいました。出だしのところで音声のトラブルはありましたが、おおむね順調で今後も活用が期待できそうです。

万が一のために、主会場の映像をビデオカメラで撮ってもらいバックアップ用としていましたが、映像そのものは当然Web中継画像に比べて格段に質が良いため、こちらを録画として当日参加できなかった職員に見てもらうことにしました。

OpenMeetingsへアップロードで動画ファイルを置く方法が見つからなかったので、力技で登録します。動画ファイルはmp4としてビデオカメラ動画を入手しました。

今回は、実際に記録した動画があるのですが、外部動画ファイルだけの場合について書くこちとにします。


1 .ダミー録画の作成

OpenMeetingsはユニークコードの生成により、データベースとファイル名の関連付けを行っていますので、これを生成するために適当な録画をします。

これにより、OpenMeetingsデータベースのom_fileテーブルに基本データを登録すると同時に、ハッシュ値が生成されます。また、このハッシュ値をもとに動画ファイル名およびサムネイル画像名を作成しています。

2.データ確認

データを特定しやすいように、ダミー録画に適切な名称を付けます。

「テスト画像」等(他と同じ名前であってはいけません)

mysqlにてOpenMeetingsのデータベースにログインします。うちでは、genomとして作成しています。

mysql -ugenom -pgenom genom

mysqlクエリーで、録画した動画のハッシュ値を探します。

MariaDB [genom]> select * from om_file where name like '%テスト画像%';

8dea1bb-5d7e-4d7a-ad72-e36d7443f3b3のような値のフィールド(カラム名はhash)を探し、これを記録します。

3.外部録画データのコピー

例えば、ターゲットとなる動画ファイルを/tmp/動画.mp4hとしておいてある場合、OpenMeetingsの動画は、次の場所に保存されていますので、これを上書きします。

/opt/red5404/webapps/openmeetings/streams/hibernate/88dea1bb-5d7e-4d7a-ad72-e36d7443f3b3.mp4

ファイル名88dea1bb-5d7e-4d7a-ad72-e36d7443f3b3.mp4のベース名が前項で示したハッシュ値になっています。
従って、上書きコピーするにはつぎのように入力します。

cp /tmp/動画.mp4 /opt/red5404/webapps/openmeetings/streams/hibernate/88dea1bb-5d7e-4d7a-ad72-e36d7443f3b3.mp4

4.サムネイル画像作成

動画を動かす前に見える最初の画面をサムネイル画像として作成します。この画像はpngファイルとして、やはりハッシュ値.pngで生成することにします。

/usr/local/bin/ffmpeg -y -i /opt/red5404/webapps/openmeetings/streams/hibernate/88dea1bb-5d7e-4d7a-ad72-e36d7443f3b3.mp4 -vf thumbnail,scale=640:-1 -frames:v 1 /opt/red5404/webapps/openmeetings/streams/hibernate/88dea1bb-5d7e-4d7a-ad72-e36d7443f3b3.png

以上の操作で、外部動画ファイルをOpenMeetings内に取り込むことができました。この動画は、他の録画と同様にメニューの録画->録画から見ることができます。

これにより、様々な教育ビデオがOpenMeetingsのライブラリとして保存できるようになりました。ただし、設置する動画はこれぐれも著作権を侵さないものとしてください。