【问题标题】:Laravel can't play uploaded mp4 videoLaravel 无法播放上传的 mp4 视频
【发布时间】:2023-04-01 05:47:01
【问题描述】:

在我的 Laravel (5.2) 应用程序中,我有一个简单的上传功能,允许用户从网络摄像头上传或录制视频,然后播放它们。

如果用户从网络摄像头录制视频,则上传成功,然后他可以毫无问题地播放(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 over 无法在 HTML5 播放器中播放它们我什至不能在浏览器中使用他们的路径找到它们,但我可以从 ftp 客户端看到它们,我不知道为什么会这样,有什么帮助吗?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    好的,我发现了问题所在。由于某些原因,我的服务器上未启用 mp4 mime 类型。所以我刚刚从 cpanel 启用它(但我认为它也可以通过 .htaccess 文件来完成)。

    【讨论】:

    • 如何在本地服务器和直播服务器上启用 mp4 mime 类型?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    • 2012-11-07
    • 2011-09-28
    • 2016-05-09
    • 1970-01-01
    相关资源
    最近更新 更多