I am using a package called pascalbaljetmedia/laravel-ffmpeg
And want to create an HLS playlist for video streaming. but first i want to check the video bit-rate or width/height to see if it's a 4k, 1080, 720 etc.
So how do i calculate the video bitrate and it's dimensions?..
Here is what i want to do after getting the video information:
$video = FFMpeg::fromDisk('videos')
->open('original_video.mp4')
->exportForHLS();
$resolutions = [];
//check if we can make 4k version
if ( ( $bitrate >= 14000 ) || ( $width >= 3840 && $height >= 2160 ) )
{
// Then it's a 4k video
// We make a 4k version of HLS
$resolutions[] = ['q' => 14000, 'size' => [ 'w' => 3840, 'h' => 2160]];
}
//check if we can make HD version
if( ( $bitrate >= 5800 ) || ( $width >= 1920 && $height >= 1080 ) )
{
// Then it's a HD video
// We make a HD version of HLS
$resolutions[] = ['q' => 5800, 'size' => [ 'w' => 1920, 'h' => 1080]];
}
//Lastly we loop through and add formarts
foreach($resolutions as $resolution){
$video->addFormat($resolution['q'], function($media) {
$media->addFilter('scale='. $resolution['size']['w].':'. $resolution['size']['h]);
});
}
$video->save('video_name.m3u8');
Any help?.