2016-07-13 42 views
0

私のLaravel(5.2)アプリケーションでは、ユーザーがウェブカメラからビデオをアップロードまたは録画して再生できる簡単なアップロード機能があります。Laravelはアップロードされたmp4ビデオを再生できません

ユーザーがウェブカメラからビデオを録画した場合、アップロードは成功し、問題なく再生できます(webm形式)。

ユーザーがwebm形式でビデオをアップロードすると、アップロードは成功し、再生できます。

ユーザーが.mp4ビデオをアップロードするときに問題が発生します。アップロードは成功しましたが、HTML5プレーヤーでは再生できません。動画パスに到達すると500エラーが発生します。しかし、私のFTPクライアントからは、ビデオがそこにあるのがわかります。ダウンロードすれば問題なく再生できます。

ビデオのアップロードを処理する関数がこれです:

public function uploadvideo() { 
    $input = Input::all(); 
    $destinationPath = 'videos'; // upload path 
    $extension = Input::file('file')->getClientOriginalExtension(); // getting file extension 
    $fileName = uniqid().'.'.$extension; // renameing video 
    $upload_success = Input::file('file')->move($destinationPath, $fileName); // uploading file to given path 

    if ($upload_success) { 
     Session::put('video', $fileName); 
     $mmty = mime_content_type('videos/'.$fileName); 
     return [$fileName,$mmty]; 
    } else { 
     return Response::json('error', 400); 
    } 
} 

だから、スクリプトへのAJAX呼び出しの後にそれだけでビデオ名とMIMEタイプを返し、成功の機能になります。

var video = response[0]; 
var tipo = response[1]; 
var string = '<video width="320" height="240" controls><source src="https://myurl/videos/'+video+'" type="'+tipo+'">Your browser does not support the video tag.</video>'; 
$('#webcam').html(string); 

だから問題はアップロード段階(ファイルは正しくアップロードされている)ではないと思うし、webmの動画はすべてうまく動くが、mp4以上ではHTML5プレーヤーで再生できないブラウザでは、私はそれらを見ることができますftpクライアントでは、なぜこれが起こっているのかわかりません。

答えて

0

私は問題が何かを考え出しました。何らかの理由でmp4のMIMEタイプが私のサーバで有効になっていませんでした。だから私はちょうどcpanelからそれを有効にしました(しかし、私はそれも同様に.htaccessファイルで行うことができると思います)。

関連する問題