The medialibrary has built-in support to convert images. To generate conversions of other media types – most notably PDFs and videos – the medialibrary uses a image generators to create a derived image file of the media.
Conversion of specific file type are defined in the exact same way as images:
The video image generator uses the PHP-FFMpeg package that you can install via composer:
$ composer require php-ffmpeg/php-ffmpeg
You'll also need to follow FFmpeg installation instructions on their official website.
The video image generator allows you to choose at which time of the video the derived file should be created using the setExtractVideoFrameAtSecond on the conversion.
Once the conversion is created you can easily use the thumbnail in a html video tag for example:
<video controls poster="{{ $video->getUrl('thumb') }}">
<sourcesrc="{{ $video->getUrl() }}" type="video/mp4">
Your browser does not support the video tag.
</video>