在 Laravel 中获取视频长度

问题描述 投票:0回答:2

有谁知道如何在 Laravel 中获取视频长度(最好是在验证器中)?

我知道可以检查视频扩展名和文件大小,但我也想获取视频的实际长度。

谢谢你。

laravel video laravel-4 laravel-5
2个回答
2
投票

Laravel 本身不支持视频长度,但您可以扩展验证功能来创建自己的规则。但您需要依赖库来确定视频长度:

// Rule
$rules = [
    'video' => 'required|file|video_length:5000',
];

// Custom validation rule
Validator::extend('video_length', function( $attribute, $value, $parameters ) {
    $length = 0; // check length using library
    return $length <= $parameters[0];
});

您需要将视频上传到您的服务器。使用您选择的库检查视频的长度,如果超出您的限制,则返回错误。

ID3 库也许可以提供帮助。


0
投票

使用ID3库

$getID3 = new \getID3;
$file = $getID3->analyze($video_path);
$duration = date('H:i:s.v', $file['playtime_seconds']);

来源

© www.soinside.com 2019 - 2024. All rights reserved.