import 'dart:async'; import 'dart:typed_data'; import 'package:video_thumbnail/video_thumbnail.dart'; class VideoThumbnailGenerator { static final Map _thumbnailCache = {}; static Future getFirstFrameThumbnail(String videoUrl) async { if (_thumbnailCache.containsKey(videoUrl)) { return _thumbnailCache[videoUrl]; } try { final uint8list = await VideoThumbnail.thumbnailData( video: videoUrl, imageFormat: ImageFormat.JPEG, maxWidth: 720, quality: 80, ); if (uint8list != null) _thumbnailCache[videoUrl] = uint8list; return uint8list; } catch (e) { print("Thumbnail generation error: $e"); } return null; } }