Skip to content

misterjulo/laravel-audio-video-validator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Audio & Video Validator

This package adds validators for audio and video files to your Laravel project.

Installation

To use this package you should intall ffmpeg multimedia framework:

  • On Debian/Ubuntu, run sudo apt install ffmpeg
  • On macOS with Homebrew: brew install ffmpeg

After that install the package via composer:

composer require minuteoflaravel/laravel-audio-video-validator

Validators

Package adds these validators:

  • audio
  • video
  • codec
  • duration
  • duration_max
  • duration_min
  • video_width
  • video_height
  • video_max_width
  • video_max_height
  • video_min_width
  • video_min_height

Custom error messages

If you need to add your custom translatable error messages then just add them as always to resources/lang/en/validation.php file:

  'audio' => 'The :attribute must be a audio.',
  'video' => 'The :attribute must be a video.',
  'codec' => 'The :attribute codec must be one of these: :codec',
  'duration' => 'The :attribute must be :duration seconds duration.',
  'duration_max' => 'The :attribute duration must be less than :duration_max seconds.',
  'duration_min' => 'The :attribute duration must be greater than :duration_min seconds.',
  'video_width' => 'The :attribute width must be :video_width.',
  'video_height' => 'The :attribute height must be :video_height.',
  'video_max_width' => 'The :attribute width must be less than :video_max_width.',
  'video_min_width' => 'The :attribute width must be greater than :video_min_width.',
  'video_min_height' => 'The :attribute height must be greater than :video_min_height.',

Some examples

To check if file is audio file and audio duration is 60 seconds:

$request->validate([
    'audio' => 'audio|duration:60',
]);

To check if file is audio file and audio duration is between 30 and 300 seconds:

$request->validate([
    'audio' => 'audio|duration_min:30|duration_max:300',
]);

To check if file is video file and video duration is between 30 and 300 seconds:

$request->validate([
    'video' => 'video|duration_min:30|duration_max:300',
]);

To check if file is video file and video dimensions are 1000x640:

$request->validate([
    'video' => 'video|video_width:1000|video_height:640',
]);

To check if file is video file and video dimensions greater than 1000x640:

$request->validate([
    'video' => 'video|video_min_width:1000|video_min_height:640',
]);

To check if file is audio file and codec is mp3 or pcm_s16le(wav):

$request->validate([
    'audio' => 'audio|codec:mp3,pcm_s16le',
]);

To check if file is video file and codec is h264(mp4):

$request->validate([
    'video' => 'video|codec:h264',
]);

License

The MIT License (MIT). Please see License File for more information.

About

Laravel validator for video and audio files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • PHP 100.0%