私は自分のウェブサイトにビデオ再生を追加しようとしていました..
どうやって試しましたか?再生するビデオは私のウェブサイトのドキュメントルートではありませんが、代わりにドキュメントルートの外にあるため、example.com/video/vid1.flvのように再生するファイルに名前を付けることはできません。代わりに、私がやっていることはurl example.com/video/index.php?id=hngthf でデータを取得し、この php ファイル内で
//Video Streaming
header('Content-Description: File Transfer');
header('Content-Type: video/flv');
//header('Content-Disposition:attachment; filename=' . $justName);
header('Content-length: ' . filesize($fileName));
header('Expires: 0');
header('Content-Transfer-Encoding: binary');
$file = fopen($fileName, 'r');
echo stream_get_contents($file);
//echo file_get_contents($fileName);
fclose($file);
次に、クライアント側で、videojs とフロー プレーヤーを使用しようとしましたが、うまくいきませんでした。これらのプレーヤーの使用方法を見てみましょう
ビデオjs
var myPlayer = _V_("myVideo",{"techOrder" : ["flash"], "controls" : true, "autoplay" : false, "preload": "auto"});
_V_.options.flash.swf = "../scripts/video-js.swf"
myPlayer.src('../index.php?id=' + code);
//myPlayer.src('../my.flv');
myPlayer.load();
myPlayer.play();
Video js エラー メッセージ: *Video Error V .Event {type: "error", timeStamp: 1362567722368, vdata1362567711568: true, preventDefault: function, stopPropagation: function…} video.js:21 Flash エラー srcnotfound myVideo_flash_api*
even though it says src not found, it actually hit my php and getting executed
そしてフロープレーヤー
ステップ1
flowplayer("player", "../scripts/flowplayer-3.2.16.swf", {
plugins: {
secure: {
url: '../scripts/flowplayer.securestreaming-3.2.8.swf'
}
},
clip: {
provider: 'http',
url: '../index.php?id=' + code
}
});
フロー プレーヤーのエラー メッセージ: 200、ストリームが見つかりません、NetStream.Play.StreamNotFound、クリップ:
ステップ2
var videoURL = "index.php?id=" + code;
//var videoURL = "my.flv";
var htmll = '<object width="640" height="264" type="application/x-shockwave-flash" data="../scripts/flowplayer-3.2.16.swf">';
htmll += '<param name="wmode" value="transparent"/><param name="movie" value="../scripts/flowplayer.securestreaming-3.2.8.swf" />';
htmll += '<param name="allowfullscreen" value="true" />';
htmll += '<param name="flashvars" value=\'config={"playlist":[{"url": "' + videoURL + '", "baseUrl": "http://localhost", "autoPlay":false,"autoBuffering":true,"bufferLength":5}]}\' /></object>';
$("#videoTag").html(htmll);
Flow player error message :
*200 stream not found Netstream.play.StreamNotFound, clip:*
注:サーバーでApache、php、mysqlを使用します(Localhostも本番サーバーで試しました)、mod_flvxもインストールし、クライアントはUbuntu 12.04のクロムです。firefoxも試しました
1、apacheでも型を追加してみた #AddType video/flv .flv AddType video/x-flv .flv #AddType video/x-flv flv
2、php、$fileNameで、docルートにflvファイルを保持し、phpスクリプトから取得しようとしましたが、うまくいきませんでした
3、上記のすべてのクライアントの例で、.php を指定する代わりに、サーバーに直接 .flv ファイルを指定すると、機能します
4、上記のコメント付きのコードを見ることができるように、それらは私の試行錯誤です...私はたくさん試しましたが、運が悪い