はじめまして
現在、moodle1.9+を使ってはじめてe-Learningサイトを構築しようとしています。トピックスの参考資料として動画をリソース追加したのですが、うまく再生されません。フィルタ設定、マルチメディアプラグインなどの設定が必要なのか、それともApache側のconf設定が必要なのか判断がつかず困っています。どなたかご教授頂けれと思い投稿致しました。FAQで解決済みなのかもしれませんが、よろしくお願いします。
情報が不足していました。申し訳ありません。
1.動画の種類はWindows Media Audio/Video fileです。ファイル名は080702.wmvのように数字6桁+拡張子です。
2. PDFファイルと同様にリソース追加でファイルをアップロードしてmoodleのコース表示からそのリソースをクリックします。windows media player11が埋め込みされて起動されます。そのあと、再生ボタンをクリックしても動画が表示されず、すぐに停止になります。
3.に関しては動画が正常に表示されるのを確認しています。
以上です。なにか助言などございましたら、よろしくお願いします。
こちらのページにWMVをリソースとして付けてみました.(ゲストでログインできるはずです)
http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=42
このページの「WMVのテスト」です.この動画は,
http://www.q-pop.ne.jp/download.html
こちらのcar256_2.1M.wmvをダウンロードし,名前を080702.wmvに変えてアップロードしたものです.
当方の環境(サーバ:WindowsXP, fs_moodle,クライアント:WindowsXP, WindowsMediaPlayer11,IE7)では正常に表示されました.ActiveXの実行を確認するメッセージがIEで出力されましたが.
どうでしょう,何が違うのでしょう.murakamiさんの環境でも,試しに上記サイトの動画をダウンロードして試してみては如何でしょうか.もしかしたら動画のコーデックの問題かも知れませんよ.(単体で表示できるので違うとは思いますが)
Shirai さま
「WMVのテスト」を拝見しました。動画は正常に表示されました。
この動画はどのような手順でリソース追加したものでしょうか?
私の手順はリソース追加で動画080604.wmvをアップロードします(Linux環境:ファイルがmoodle/moodledata/3/080604.wmvにアップされているのを確認済)。
その次に、ロケーションにファイル名(080604.wmv)を入力して「保存してコースに戻る」操作を行っています。PDFファイルについては、この手順で埋め込み表示ができているのですが、何か操作手順に異なる点があるのでしょうか?
アップロードしたファイルは、 IE7で下記を指定すると正常に表示されます。
http://localhost/moodle/moodledata/3/080604.wmv
moodleのサーバ環境はLinux(Apache2,MySQL5,PHP5)です。クライアント環境はwindowsXP, IE7です。
何か、お気づきの点がありましたらお知らせください。よろしくお願いします。
Shirai さま
アップロードしようとしているWMV形式のファイルを/var/www/html/moodleフォルダへコピーしてIE7で
http://xxx.xxx.xxx.xxx/moodle/car256_2.1M.wmv
をするとWidnowsMediaPlayer11が起動されて正常に表示されます。動画ファイルの形式が原因ではないと考えます。
ただ、気になるのはmoodledata/コースID/動画ファイル.wmvにアップされているのですが、moodleはローション設定でファイル名を指定するだけで動画ファイル.wmvへのアクセスができるようになっているようですが、そのローケーションを完全パス名にしてhttp://xxx.xxx.xxx.xxx/moodle/moodledata/3/car256_2.1M.wmvすると
表示されます(.htaccessを変更)。なぜかファイル名だけの指定では表示されないのです。とても困っています。
おや,moodledataフォルダをmoodleフォルダの下に作成されたのですか?
一般的にセキュリティ上のことを考えて,Webサーバ経由ではアクセスできない位置にmoodledataは作る方が良いですね.それと,リソースとして配置するデータ(PDFなども)はファイルのURLを直接指定している訳ではありません.file.phpを介しますし,それ自体も外部からは見えないように,
http://www.suzuka-ct.ac.jp/mech/moodle/mod/resource/view.php?id=854
このようにリソースで,そのIDは854だよ,と隠しています.これがMoodleを介してリソースが公開されるメカニズムです.
http://xxx.xxx.xxx.xxx/moodle/moodledata/3/car256_2.1M.wmv
これはMoodleではなくWebサーバが直接,働いている状態ですね.
リソースのロケーションはファイル名だけで良いはずです.そうして配置したリソースのURLが一番上に示したように,.../resource/view.php?id=*** の形になっていればOKのはずです.あと,ファイル名は直接手で入力するのではなく,”ファイルを選択またはアップロードする”のボタンで表示されたファイルエディタから”選択”で選んでいますよね?
はい、moodledataフォルダをmoodleフォルダの下に作成しています。
http://xxx.xxx.xxx.xxx/moodle/moodledata/3/car256_2.1M.wmv
はwebを介して直接アクセスした場合に表示できるかどうかのテストを行いました。セキュリティ上、標準ではアクセスできないのですが、.htaccessを変更してテストしました。
リソースのロケーションについては、
http://xxx.xxx.xxx.xxx/moodle/mod/resource/view.php?id=*** の形になっています。ファイル名の指定は、"選択”で行いました。結果は、表示できませんでした。config.phpの設定に間違いがあるのでしょうか?httpd.confを含めて、注意すべき点がございましたら、お知らせください。
config.phpを下記に示します。
unset($CFG);
$CFG->dbtype = 'mysql';
$CFG->dbhost = 'localhost';
$CFG->dbname = 'moodle';
$CFG->dbuser = 'xxxxxxxxxx';
$CFG->dbpass = 'xxxxxxxxx';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';
$CFG->wwwroot = 'http://xxx.xxx.xxx.xxx/moodle';
$CFG->dirroot = '/var/www/html/moodle';
$CFG->dataroot = '/var/www/html/moodle/moodledata';
$CFG->admin = 'admin';
$CFG->directorypermissions = 00777; // try 02777 on a server in Safe Mode
require_once("$CFG->dirroot/lib/setup.php");
ロケーションにURLが入力されている場合,Moodleはfile.phpを介したアクセスではなく,直接(というか回りくどいですがインターネット側に回って)アクセスしていることになりますね.これはWebブラウザでURLを直接指定して動画が表示されたのと同じ機構になります.
それに対してコースファイルのファイル名を指定した場合は,PHPがfile.phpを介してそのファイルを読みに行って,そのファイルを読めなかった,ということだと思われます.
file.phpがWMVファイルにアクセスできない理由は何だろう,ということですよね.この場合はPHPのエラーですので,logs/phperror.logにPHPのエラーメッセージが記録されていそうな気がしますが,何も無いでしょうか.
#でもPDFはfile.phpを介して(ファイル名のみの指定で)表示できているのですよね.不思議ですね.mimetypeが関わる話でしょうか.
logs/phperror.logは標準で出力されるものですか。こちらの環境(Linux)でも標準で出力されているのしょうか?システム内を探して見たのですが、見当たりませんでした。
気になる点がありますので、教えていただければと思います。
マルチメディアプラグインとはどういうものでしょうか、勉強不足で申し訳ありませんが、教えてください。PHPがfile.phpを介して動画ファイルを読みにいく際に、フィルタ操作を行って形式を変更しているためにWindowsMediaPlayerが再生できないでないかと推測するのですが、誤りでしょうか。現在のフィルタ設定では標準でwmvフィルタが有効になっているのですが、それをフィルタをせずに拡張子から判断したアプリケーション(windows media player)に渡すようになれば表示されるような気がしています。pdfのファイルはフィルタによる変更はなくacrobat readerへ渡されているような気がしています。
このような現象を経験されている方は私だけしょうか。
私は主にWindowsを使用しているので良く分からないのですが,php.iniの中でファイルを保存する場所を指定しているのではないでしょうか.当方の環境では,Apache2.2/logs/phperror.logに保存されています.
アクティブフィルタはTeXフィルタを除いて全てOff(お休み状態)です.これは推測ですが,On(起床?)状態にして,それから設定でチェックボックスのチェックを外したファイルは無効になる,というような使用目的なのではないでしょうか.
私の環境ではマルチメディアアクティブフィルタ(そもそも全てのフィルタが)デフォルトでOffでした.