ShowShark vs Plex
ShowShark and Plex are both personal media servers that organize a library and stream it to client devices. They take very different approaches to almost everything else. This comparison covers pricing, privacy, remote access, transcoding, format support, and platform coverage so you can decide which one fits your setup.

At a Glance
ShowShark offers a more private, more technically capable media server with built-in remote access and no recurring fees. Plex covers more platforms and has a larger ecosystem, but increasingly gates features behind subscriptions and routes your data through its cloud. If your household runs on Apple devices, ShowShark delivers a better experience for less money.
For video professionals, the gap is sharper. ShowShark now indexes and searches raw-footage libraries by technical metadata, decodes ProRes and Avid DNxHD/DNxHR for playback, probes MXF files, and recognizes camera RAW files such as R3D, BRAW, ARI, and ARX. Plex remains strongest as a consumer movie, TV, and music server; its published support material focuses on delivery formats and client compatibility, not professional acquisition, review, or archive workflows.
Pricing
ShowShark is a one-time purchase. Buy the server license once and own it for life. There are no monthly fees, no annual renewals, and no tiered feature gates. Every feature ships to every customer.
Plex uses a subscription model called Plex Pass. As of April 2025:
| Monthly | Annual | Lifetime | |
|---|---|---|---|
| Plex Pass | $6.99 | $69.99 | $249.99 |
| Remote Watch Pass | $1.99 (introductory) | $19.99 | — |
Many features that were previously free now require a subscription. Remote streaming of personal media, once free for all users, requires at least the Remote Watch Pass as of April 2025. Hardware-accelerated transcoding, HDR tone mapping, Skip Intro, DVR recording, mobile downloads, and managed users all require a full Plex Pass.
The free tier covers local playback, ad-supported on-demand movies, and free live TV channels.
Privacy and Cloud Dependency
ShowShark is local-first. Authentication runs between the server and client over your local network or encrypted tunnel. There is no cloud account requirement, no telemetry, and no dependency on external services for core functionality. If ShowShark's servers went offline tomorrow, every feature would continue to work exactly as it does today; the server and client communicate directly.
Plex requires a plex.tv account for all use. Server discovery, authentication, and remote access brokering are routed through Plex's cloud infrastructure. If plex.tv goes down, new logins fail, remote access breaks, and server discovery stops working. There is a workaround (pre-configuring a list of allowed IP addresses for unauthenticated local access), but it must be set up while plex.tv is still reachable.
Plex's March 2025 privacy policy revision introduced data sharing with advertisers for targeted advertising. Users with accounts created before the change were required to consent to the new data sale provisions. Playback telemetry (codec usage, transcode statistics, bitrate, resolution) is collected by default; some categories can be opted out. In August 2022, Plex disclosed a data breach that exposed customer emails, usernames, and hashed passwords.
ShowShark collects no playback telemetry and stores no user data on external servers.
Remote Access
This is the single biggest architectural difference between the two systems.
ShowShark embeds Tailscale's networking library (libtailscale) directly into both the server and client apps. When you sign in on the server and then connect a client on your local network, the client automatically receives the credentials it needs for remote access. No configuration is required on either end.
When you leave your home network and try to connect, the client detects the local connection failure and offers a "Connect Remotely" button. Tap it, and an encrypted WireGuard tunnel is established directly between the client and server; peer-to-peer, end-to-end encrypted, with no bandwidth caps and no relay servers in the middle. The connection works across NATs, firewalls, and cellular networks without port forwarding or router configuration.
Plex takes a fundamentally different approach. The preferred method is port forwarding: you open port 32400 on your router so Plex clients can connect directly through plex.tv's connection broker. When port forwarding is not possible (double NAT, CGNAT, restrictive firewalls), Plex falls back to a relay that routes all traffic through its own servers. The relay has a hard cap of 2 Mbps; enough for a compressed 480p stream, but not much else. Downloads cannot be performed over relay at all.
| ShowShark | Plex | |
|---|---|---|
| Port forwarding required | No | Yes (for direct connections) |
| Relay / third-party routing | None; peer-to-peer | Yes; 2 Mbps cap |
| Separate VPN app required | No; embedded in the app | No (but many users install Tailscale as a workaround for the relay cap) |
| Encryption | WireGuard end-to-end | TLS; relay traffic passes through Plex servers |
| Configuration | Automatic after first local connection | Manual router configuration or accept relay limitations |
| Subscription required | No | Yes (Plex Pass or Remote Watch Pass) |
Transcoding
ShowShark transcodes every file in real time using a GStreamer pipeline with Apple VideoToolbox hardware acceleration. The server probes each file's container, codecs, resolution, frame rate, channel layout, and HDR flags, then builds an optimized pipeline on the fly. No pre-conversion step, no "Optimize" button, no duplicate files on disk. Recent builds also add ProRes and Avid DNxHD/DNxHR decode paths for professional mezzanine sources.
Output codec negotiation is automatic: the client reports whether it supports hardware HEVC decoding, and the server selects H.264 or H.265 accordingly. Output resolution defaults to the minimum of the source resolution and the device's native capability (4K on Apple TV 4K, 1080p on Apple TV HD, and so on), with a manual override available.
Plex supports three playback modes: Direct Play (file sent as-is), Direct Stream (remuxed into a compatible container), and Transcode (full re-encode). Direct Play is ideal but only works when the client natively supports the file's codecs and container. When transcoding is required, Plex uses FFmpeg with optional hardware acceleration (Intel Quick Sync, NVIDIA NVENC, or AMD VCE); hardware acceleration requires a Plex Pass.
Plex added HEVC hardware encoding in February 2025, but output is limited to Safari and Chrome on macOS/Windows. ShowShark has supported HEVC encoding via VideoToolbox since launch.
Adaptive Bitrate
ShowShark includes a server-side adaptive bitrate controller that adjusts encoder bitrate in real time based on client buffer health and TCP send timing. The system uses an AIMD (Additive Increase / Multiplicative Decrease) algorithm with overshoot memory to prevent oscillation. It starts at 2 Mbps and converges to a stable bitrate within 20-30 seconds. No user configuration is needed; it is always active.
Plex offers an "Automatically Adjust Quality" toggle on the client. When enabled, the client requests different quality levels from the server based on measured connection speed. This requires active transcoding (it is disabled during Direct Play) and transcodes both video and audio when active. The server can also impose a maximum remote stream bitrate cap.
Format Support
Video Codecs (Input)
| Codec | ShowShark | Plex |
|---|---|---|
| H.264 | Yes (hardware) | Yes |
| H.265 / HEVC | Yes (hardware) | Yes |
| AV1 | Yes (hardware on M3+; software on M1/M2) | Limited client support |
| MPEG-2 | Yes | Yes |
| MPEG-4 / DivX / Xvid | Yes | Yes |
| VC-1 | Yes | Yes |
| VP8 | Yes | — |
| VP9 | Yes | Yes (MKV only) |
| MPEG-1 | Yes | — |
| ProRes | Yes (software decode) | Not documented |
| DNxHD / DNxHR | Yes (software decode) | Not documented |
Plex's official support material describes media compatibility in terms of common containers and codecs such as MP4, H.264, HEVC, AAC, AC-3, E-AC-3, and DTS. Plex may be able to inspect or attempt to transcode additional FFmpeg-readable files in some setups, but ProRes, DNxHD/DNxHR, MXF, and camera RAW formats are not documented as supported Plex workflows. For planning purposes, treat them as unsupported unless you have tested your exact server, client, and source files.
Audio Codecs (Input)
Both systems support AAC, AC-3, E-AC-3, DTS, DTS-HD, TrueHD, FLAC, MP3, Vorbis, Opus, LPCM, ALAC, and WMA. ShowShark uses explicit decoder chains for every audio codec rather than relying on auto-plugging, which avoids a class of decoder selection bugs (notably, GStreamer's decodebin corrupts DTS audio by selecting a bad decoder configuration).
ShowShark applies channel-aware gain compensation when downmixing surround to stereo: 5.1 content gets a 2.5x boost, 7.1 gets 3.0x. A FIR DC blocker removes the DC offset that downmixing introduces. These details matter because they are the difference between "movies sound fine" and "why is the dialogue so quiet."
Container Formats
Both support MKV, MP4, MOV, AVI, WebM, MPEG-TS, and FLV. ShowShark also indexes MXF files for professional metadata search; Plex's current support articles do not list MXF as a supported playback or library workflow.
Professional Video and Raw Footage
| Capability | ShowShark | Plex |
|---|---|---|
| ProRes playback/transcoding | Yes | Not documented |
| DNxHD / DNxHR playback/transcoding | Yes | Not documented |
| MXF files | Indexed and probed for metadata; playback depends on contained streams | Not documented |
| R3D camera files | Indexed; RMD sidecar metadata searchable; playback not claimed | Not documented |
| BRAW camera files | Indexed as unsupported so they still appear in file search | Not documented |
| ARI / ARX camera files | Indexed; .ari.xml / .alexa.xml sidecar metadata searchable |
Not documented |
| Search by codec, container, fps, HDR, color, camera, lens | Yes | No dedicated pro file search |
| Suitable for video professionals | Yes, for review, search, and archive browsing of pro media libraries | No; consumer media server first |
This is the practical difference for an editor, colorist, producer, or archive manager: ShowShark can be pointed at a folder of deliverables and camera material, then searched with queries like codec:prores, container:mxf, fps:23.976, hdr:true, camera:red, or lens:cooke. Plex can show item-level media information after a file has been accepted into the library, but it does not provide a comparable file-level professional media search surface.
Subtitle Formats
| Format | ShowShark | Plex |
|---|---|---|
| SRT | Client-side rendering | Client-side rendering |
| ASS / SSA | Client-side rendering (tags stripped) | Server burn-in on most clients |
| WebVTT | — | Client-side rendering |
| PGS (Blu-ray) | Server burn-in | Server burn-in |
| VobSub (DVD) | Server burn-in | Server burn-in |
ShowShark extracts all text subtitle tracks simultaneously from the server and streams them to the client. This means switching subtitle languages mid-playback is instant; there is no round-trip to the server and no pipeline restart. Bitmap subtitles (PGS, VobSub) are burned in server-side on both platforms.
On Plex, selecting any subtitle that requires burn-in forces a full video transcode, even if the video would otherwise Direct Play. This is a common pain point with 4K HDR content that has PGS subtitles.
ShowShark also provides user-adjustable subtitle timing delay (-3 to +3 seconds) and font size selection on the client.
Blu-ray Support
ShowShark plays BDMV folders directly. The server integrates libbluray 1.3.4 for title scanning, chapter extraction, multi-clip seamless playback, and video/audio/subtitle stream enumeration. Chapters are exposed to the client for navigation (previous/next buttons, chapter list picker, starting chapter selection). The player handles the complex PTS domain alignment that Blu-ray's M2TS format requires; specifically, segment-direct alignment using gst_segment_to_stream_time to work correctly across the split PTS domains that tsdemux produces.
Plex does not support BDMV folders, ISOs, or VIDEO_TS structures. Plex's official guidance is to remux discs to MKV using a tool like MakeMKV before importing. MKV files with embedded chapter markers are recognized by Plex and navigable on some clients, but chapter support varies by platform.
Library and Metadata
Both systems scan configured media folders and fetch metadata from online providers.
| Feature | ShowShark | Plex |
|---|---|---|
| Movie metadata | TMDB | TMDB |
| TV metadata | TMDB | TMDB + TheTVDB |
| Rotten Tomatoes scores | Yes (via OMDB) | — |
| Music metadata | MusicBrainz + Cover Art Archive + Last.fm | Integrated music agent |
| Synced lyrics | Yes (LRCLib) | Yes (LyricFind; Plex Pass) |
| YouTube metadata | yt-dlp .info.json parsing + YouTube API fallback | — |
| Manual metadata correction | Metadata Doctor | Fix Match |
| Content discovery | Similar To, By Feel, By Genre | Discover (cross-service; indexes 450+ streaming services) |
| Collections | Playlists + Favorites | Auto-collections from TMDB + manual collections |
ShowShark's content discovery is built around your own library. "Similar To" uses multi-factor scoring (keyword overlap, genre, cast, year, rating, optional embedding cosine similarity). "By Feel" lets you filter by time commitment and mood, then uses binary search narrowing to find something you want to watch. Plex's Discover feature indexes external streaming services and suggests content across platforms, which is a different product goal entirely.
Channels
ShowShark supports virtual channels built from your own library and IPTV live TV channels from sources you configure on the server:
- Video channels: 24-hour scheduled programming with genre, actor, title, rating, and media path filters. Anti-repetition logic, sorted or randomized ordering, consecutive episode toggle.
- Music channels: Continuous playback filtered by artist, album, genre, or song.
- Photo channels: Synchronized slideshows with deterministic scheduling so all connected clients show the same photo at the same time.
- Live TV channels: IPTV sources from M3U playlists or compatible account-based provider configurations, with XMLTV guide data, provider/category/channel browsing, channel logos, and Now/Next overlays.
A Channel Guide view shows the full 24-hour programming grid with a current time indicator and color-coded program tiles for library-backed channels. IPTV channels appear in the same Channels tab as the rest of the channel experience. The server resolves and streams live HLS on behalf of the clients, so client apps do not receive upstream stream URLs, hostnames, or credentials. Multiple clients watching the same live channel can share one upstream decoding session.
Plex offers ad-supported live TV channels. It also supports Live TV and DVR through compatible tuner hardware and an antenna; DVR recording, commercial detection, and commercial skip require a Plex Pass. Plex does not have virtual channels built from personal media, and its official Live TV path does not present user-configured M3U IPTV sources as a first-class personal media feature.
Platform Support
| Platform | ShowShark | Plex |
|---|---|---|
| iPhone / iPad | Yes (native SwiftUI) | Yes |
| Mac | Yes (native SwiftUI) | Yes (web app + HTPC app) |
| Apple TV | Yes (native SwiftUI with focus-based UI) | Yes |
| Apple Vision Pro | Yes (native SwiftUI) | — |
| Apple Watch | Yes (HLS playback via HTTP polling) | — |
| Web browser | Yes (vanilla TypeScript; ~180KB) | Yes |
| Android | Web | Yes |
| Android TV / Fire TV | Web | Yes |
| Roku | — | Yes |
| Smart TVs (Samsung, LG, etc.) | Web | Yes |
| PlayStation / Xbox | Web | Yes |
| Windows | Web | Yes |
| Linux | Web | Yes |
| NAS (Synology, QNAP, etc.) | — | Yes (server) |
ShowShark's native apps are designed to be intuitive and easy for first-time users. The interface is simple enough that kids can navigate the client app on their own to find their cartoon channel. Every platform gets a purpose-built experience: focus-based navigation on Apple TV, swipe gestures on iPhone, media keys on Mac, and Digital Crown volume control on Apple Watch.
ShowShark covers the entire Apple ecosystem including visionOS and watchOS, which Plex does not support. Non-Apple platforms (Android, Windows, Linux, smart TVs, and game consoles) are supported via ShowShark's web client, which runs in any modern browser. Plex offers native apps across a broader range of non-Apple platforms.
ShowShark Server runs exclusively on macOS (Apple Silicon). Plex Media Server runs on Windows, macOS, Linux, FreeBSD, Docker, and various NAS appliances.
Playback Features
| Feature | ShowShark | Plex |
|---|---|---|
| Chapter navigation | Yes (list picker, prev/next, starting chapter) | Varies by client |
| Blu-ray chapter support | Yes (extracted via libbluray) | MKV embedded chapters only |
| Picture-in-Picture | Yes (iOS) | Yes (some clients) |
| Background audio | Yes (WebSocket stays alive) | Yes |
| Lock screen / Now Playing | Yes (MPNowPlayingInfoCenter) | Yes |
| Media keys (macOS) | Yes | Yes |
| Resume playback | Yes (server-backed, synced across devices) | Yes (server-backed) |
| Skip Intro | — | Yes (Plex Pass) |
| Audio visualizers | Yes (Metal-accelerated; multiple styles) | — |
| Scrub thumbnails | Yes (per-minute batch generation) | Yes (chapter thumbnails) |
| Subtitle timing adjustment | Yes (-3 to +3 seconds) | — |
| Offline downloads | Yes | Yes (Plex Pass; mobile only) |
Audio Playback
ShowShark includes a dedicated music playback experience with a background mini player, repeat and shuffle modes, collection-based playback (albums, artists, folders), and real-time audio spectrum visualizers rendered with Metal. Synced lyrics from LRCLib display with time-synced line highlighting and auto-scroll.
Plex offers Plexamp, a separate dedicated music app. Plexamp's premium features require a Plex Pass.
Photos
ShowShark integrates iCloud Photo Library via the Photos framework, supports album browsing (My Albums, Shared Albums, Smart Albums), and provides full-screen photo viewing with EXIF metadata and reverse geocoding. Photo channels display synchronized slideshows across all connected clients.
Plex offers photo library organization with timeline and map views, plus sharing capabilities.
Server Administration
ShowShark Server runs as a macOS menu bar app with a sidebar-based administration interface:
- Status: live service status, active transcoding sessions with encoder bitrate, connected clients with local/remote indicators
- Locations: media folder management with custom display names and SF Symbol icons
- Library: scan triggers, statistics, validation (test-transcode all indexed files)
- Channels: video, music, and photo channel editors with filter configuration
- Providers: TMDB, OMDB, LRCLib configuration
- Devices: known device management with admin roles, device type identification, IP address history
- Settings: port configuration, password management, launch at login, file-based logging with 24-hour auto-disable
Plex offers a web-based administration dashboard and Plex Dash (a separate monitoring app, Plex Pass required, of course).
Updates
ShowShark Server uses Sparkle for automatic updates with EdDSA signature verification. The update system checks for active streaming sessions before applying an update and warns the server operator if clients are connected.
Plex Media Server updates are downloaded and installed through the web dashboard or command line, depending on the platform.
Technical Support
ShowShark offers direct email support. If you are a customer, email [email protected] for help with anything ShowShark. You will hear back from the person who built the software.
Plex provides community forums and a knowledge base. Priority support is not offered as a standalone option; troubleshooting relies on community volunteers and the official support articles. Good luck!
Summary
| ShowShark | Plex | |
|---|---|---|
| Cost | One-time purchase | Subscription ($6.99/mo or $249.99 lifetime) |
| Cloud dependency | None; completely self-hosted | Required (plex.tv account) |
| Remote access | Built-in; peer-to-peer; no configuration | Port forwarding or 2 Mbps relay |
| Remote access subscription | No | Yes |
| Privacy | No telemetry, no external accounts | Telemetry collected; advertiser data sharing |
| Blu-ray folders | Full support with chapters | Not supported |
| Transcoding | Real-time GStreamer + VideoToolbox | FFmpeg + optional hardware acceleration (Plex Pass) |
| Adaptive bitrate | Server-side; always active | Client-side; requires transcoding |
| Video professional workflows | ProRes/DNxHD decode, MXF metadata, raw camera file search | Not documented / not suitable as a pro review archive |
| Apple ecosystem | All 6 platforms + web | iOS, macOS, tvOS + web |
| Non-Apple platforms | Web | Android, Roku, Smart TVs, consoles, NAS |
| Virtual channels | Video, music, photo | — |
| Live TV / IPTV | M3U/provider IPTV, XMLTV guide, Now/Next, server-side stream proxy | Ad-supported live TV; tuner-based DVR (Plex Pass) |
| Server platforms | macOS (Apple Silicon) | Windows, macOS, Linux, NAS, Docker |
| Technical support | Direct email ([email protected]) | Community forums and knowledge base |
ShowShark is purpose-built for Apple households that want a private, self-contained media server with no subscriptions and no cloud dependency. Plex is a broader platform with an expanding focus on ad-supported content. The right choice depends on which ecosystem you live in and how much you value owning the entire stack versus reaching the widest range of devices.