SwiftVLC icon
SwiftVLC icon

SwiftVLC

AVFoundation is excellent for Apple's native media stack, but its container, codec, subtitle, and network-protocol support is limited to what Apple ships. Apps that need MKV, SSA/ASS subtitles, RTSP, SMB, UPnP, or other VLC-backed formats and protocols need a broader engine.

Cost / License

  • Free
  • Open Source (MIT)

Platforms

  • Mac
  • iPhone
  • iPad
  • Apple TV
  • Apple Swift
  • visionOS

Features

SwiftVLC News & Activities

Highlights All activities

Recent activities

  • August 2026
  • NekoVideo icon
    NekoVideo named as an alternative by c17s5qhu
  • QuickTime Player icon
    QuickTime Player named as an alternative by justarandom
  • 5KPlayer icon
    5KPlayer named as an alternative by justarandom
  • Haruna icon
    Haruna named as an alternative by justarandom
  • Infuse icon
    Infuse named as an alternative by justarandom
  • July 2026
  • SwiftVLC icon
    bbrobb liked this
  • GOM Player icon
    GOM Player named as an alternative by justarandom
  • CyberLink PowerDVD icon
    CyberLink PowerDVD named as an alternative by justarandom
  • bomi iconVLC Media Player icon
    bomi and VLC Media Player named as an alternative by justarandom
  • PotPlayer icon
    PotPlayer named as an alternative by justarandom

SwiftVLC information

GitHub repository

  •  604 Stars
  •  36 Forks
  •  4 Open Issues
  •   Updated  
View on GitHub
SwiftVLC was added to AlternativeTo by Darlene Sonalder on and this page was last updated .
No comments or reviews, maybe you want to be first?

What is SwiftVLC?

AVFoundation is excellent for Apple's native media stack, but its container, codec, subtitle, and network-protocol support is limited to what Apple ships. Apps that need MKV, SSA/ASS subtitles, RTSP, SMB, UPnP, or other VLC-backed formats and protocols need a broader engine.

VLC's engine, libVLC, supports a broad set of codecs, containers, subtitles, and network protocols through embeddable C APIs.

VideoLAN's Apple wrapper, VLCKit, is written primarily in Objective-C. It uses delegates, KVO, NSNotificationCenter, and manual thread management, which is a faithful reflection of the era it was designed in.

SwiftVLC wraps libVLC 4.0 directly in Swift, with no Objective-C layer in between. It is built for @Observable, async/await, and VideoView(player).

Features

@Observable player: state, current time, duration, tracks, and volume drive SwiftUI directly. VideoView(player) handles the rendering lifecycle in a single SwiftUI view. Library failures use typed throws(VLCError) instead of error codes. Asynchronous media parsing: try await media.parse() with cancellation support. 10-band equalizer with libVLC's built-in presets. A-B looping, playback rate control, and subtitle and audio delay. Picture-in-Picture on iOS with full playback controls; macOS native PiP is available only through an explicit private-API SPI opt-in. Media discovery and renderer discovery through services exposed by the bundled libVLC plugins. 360° video with full viewpoint control over yaw, pitch, roll, and field of view. Asynchronous thumbnail generation at arbitrary timestamps. MediaListPlayer for playlist playback with loop and repeat modes.

Requirements Swift 6.3+ / Xcode 26.4+ iOS 18+ / macOS 15+ / tvOS 18+ / visionOS 2+ / Mac Catalyst 18+