aerial_views 0.1.0 copy "aerial_views: ^0.1.0" to clipboard
aerial_views: ^0.1.0 copied to clipboard

Flutter library for discovering and streaming aerial videos from Apple, Community, Amazon, Immich, and custom feeds.

aerial_views #

Flutter library for discovering and streaming aerial videos from Apple, Community, Amazon, Immich, and custom feeds.

Ported from the AerialViews Android TV app.

Features #

  • Apple Aerial Videos - macOS/iOS screensaver videos with 4K HDR support
  • Community Videos - Community-contributed aerial footage
  • Amazon/Fire TV Videos - Fire TV aerial screensaver content
  • Immich Integration - Self-hosted photo server video streaming
  • Custom Feeds - RTSP, HLS, CSV, and JSON manifest support
  • Quality Selection - 1080p H.264, 1080p SDR/HDR, 4K SDR/HDR
  • Metadata - Description, points of interest, time of day, scene type

Getting Started #

Add to your pubspec.yaml:

dependencies:
  aerial_views:
    path: ../aerial_views  # or from pub.dev

Usage #

Apple Videos #

import 'package:aerial_views/aerial_views.dart';

final provider = AppleProvider(
  quality: VideoQuality.video4kSdr,
  timeOfDayFilter: {TimeOfDay.day, TimeOfDay.sunset},
  sceneFilter: {SceneType.beach, SceneType.city},
);

final videos = await provider.fetch();

Community Videos #

final provider = Comm1Provider(quality: VideoQuality.video1080H264);
final videos = await provider.fetch();

Amazon/Fire TV Videos #

final provider = AmazonProvider(quality: VideoQuality.video1080Sdr);
final videos = await provider.fetch();

Custom Feeds (RTSP, HLS, CSV, JSON) #

final provider = CustomFeedProvider(
  quality: VideoQuality.video1080Sdr,
  urls: {
    'https://example.com/manifest.json',
    'rtsp://camera.local/stream',
    'https://example.com/videos.csv',
  },
);
final videos = await provider.fetch();

Immich (Self-Hosted) #

final provider = ImmichProvider(
  prefs: ImmichMediaPrefs(
    url: 'http://192.168.1.100:2283',
    apiKey: 'your-api-key',
    authType: ImmichAuthType.apiKey,
    mediaType: ProviderMediaType.videos,
    selectedAlbumIds: {'album-id-1'},
    includeFavorites: '10',
    includeRandom: '20',
  ),
);
final videos = await provider.fetch();

Enriching Metadata #

All providers return basic metadata from fetch(). To enrich with descriptions and points of interest:

final provider = AppleProvider(quality: VideoQuality.video4kSdr);
final basicVideos = await provider.fetch();
final enrichedVideos = provider.fetchMetadata(basicVideos);

API Reference #

See the docs/ folder for detailed documentation:

Quick Reference #

Provider Source Description
AppleProvider Bundled JSON Apple aerial videos
Comm1Provider Bundled JSON Community 1 videos
Comm2Provider Bundled JSON Community 2 videos
AmazonProvider Bundled JSON Amazon/Fire TV videos
CustomFeedProvider Network URLs RTSP, HLS, CSV, JSON feeds
ImmichProvider Immich API Self-hosted photo server

License #

GNU General Public License v3.0

0
likes
150
points
142
downloads

Documentation

API reference

Publisher

verified publisherhseuniversal.com

Weekly Downloads

Flutter library for discovering and streaming aerial videos from Apple, Community, Amazon, Immich, and custom feeds.

Repository (GitHub)
View/report issues

License

GPL-3.0 (license)

Dependencies

flutter, http, json_annotation

More

Packages that depend on aerial_views