WebTViOS is an open-source SwiftUI iOS app for watching multiple HLS video streams at once. Channels appear in a responsive grid; selecting a channel pauses the other previews and promotes the selected stream to fullscreen playback. Returning to the grid resumes muted live previews at the latest frame.
The screenshot uses only bundled public demo streams. Private or non-public channel URLs should not be committed.
- A SwiftUI multi-stream grid built around
AVPlayerandAVPlayerLayer. - Fullscreen channel playback with swipe navigation.
- Local Core Data storage for user-managed channels.
- Safe demo HLS streams for development only.
- No private TV channel URLs.
- No Mediathek integration.
- No CloudKit or iCloud sync.
- No license to rebroadcast or redistribute video content.
This app is a player shell. Bring your own legally accessible HLS .m3u8 URLs. Before adding a stream, make sure you have permission to access and use it in your context. Do not commit private, scraped, geo-restricted, paid, or otherwise unauthorized channel lists.
- Open
WebTViOS.xcodeprojin Xcode. - Build the
WebTViOSscheme for an iPhone or iPad simulator. - Use the channel manager (
+/-) to add your own legal HLS URLs. - Use Reset to restore the bundled demo streams.
Channels are stored as:
["Display Name": ["https://example.com/stream.m3u8", "", "1"]]The third value controls whether the channel is included in the live preview grid ("1") or shown as a non-preview entry ("0"). The middle value is kept empty for compatibility with older saved channel data.
- The default streams in
ImprovedChannelView.swiftandChannelView.swiftare public demo streams only. - The project intentionally uses local Core Data (
NSPersistentContainer) rather than CloudKit. - Keep user-specific Xcode files, large media, and private stream lists out of git.
MIT. See LICENSE.
