Skip to content

DAVID TV is a modern, open-source IPTV desktop application that allows users to watch 800+ free Indian live TV channels in a clean, fast, and TV-like interface.

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
license.md
Notifications You must be signed in to change notification settings

david0154/david-tv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“บ DAVID TV - Indian IPTV Player

A beautiful, feature-rich IPTV player for streaming Indian TV channels across multiple languages. Built with Python, Tkinter, and VLC.

DAVID TV Platform Python License

โœจ Features

  • ๐ŸŒ Multi-Language Support: Hindi, Bangla, Tamil, Telugu, Malayalam, Kannada, Marathi, Punjabi, Odia,Nepali, Konkani, Urdu, Assamese, Gujarati, English
  • ๐Ÿ” Real-time Search: Quickly find your favorite channels
  • โญ Favorites System: Save and manage your preferred channels
  • ๐ŸŽš๏ธ Volume Control: Slider and keyboard shortcuts
  • ๐Ÿ–ฅ๏ธ Fullscreen Mode: Immersive viewing experience with auto-hide controls
  • โŒจ๏ธ Keyboard Shortcuts: Full keyboard navigation support
  • ๐ŸŽจ Modern UI: Beautiful dark theme with cyan accents
  • ๐Ÿ’พ Persistent Settings: Favorites are saved automatically
  • ๐Ÿš€ Cross-Platform: Works on Windows, Linux, and macOS

๐Ÿ“ธ Screenshots

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  ๐Ÿ“บ DAVID TV                                  [_][โ–ก][ร—] โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   ๐ŸŽฌ LOGO    โ”‚                                          โ”‚
โ”‚  DAVID TV    โ”‚                                          โ”‚
โ”‚              โ”‚         VIDEO PLAYER AREA                โ”‚
โ”‚ Language โ–ผ   โ”‚                                          โ”‚
โ”‚ Search...    โ”‚                                          โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚                                          โ”‚
โ”‚ โ”‚โญChannel1โ”‚ โ”‚                                          โ”‚
โ”‚ โ”‚ Channel2 โ”‚ โ”‚                                          โ”‚
โ”‚ โ”‚ Channel3 โ”‚ โ”‚                                          โ”‚
โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚                                          โ”‚
โ”‚ ๐Ÿ”Š 70%       โ”‚                                          โ”‚
โ”‚ โ”โ”โ”โ”โ”โ—โ”โ”โ”โ”   โ”‚                                          โ”‚
โ”‚ ๐Ÿ”‡ Mute      โ”‚                                          โ”‚
โ”‚ โฎ โฏ โญ      โ”‚                                          โ”‚
โ”‚ โญ Favorite  โ”‚                                          โ”‚
โ”‚ ๐Ÿ–ฅ Fullscreenโ”‚                                          โ”‚
โ”‚ โ„น About      โ”‚                                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ Quick Start

Prerequisites

  • Python 3.8 or higher
  • VLC Media Player installed on your system

Installation

  1. Clone the repository
    git clone https://github.com/david0154/david-tv.git
    cd david-tv

๐Ÿ”น Step 2: Create a Virtual Environment (Windows)

python -m venv venv
venv\Scripts\activate
  1. Install dependencies

    pip install -r requirements.txt
  2. Run the application

    python david_tv.py

๐Ÿ“ฆ Building Executables

Windows

# Install PyInstaller
pip install pyinstaller

# Build executable (single line)
pyinstaller --onefile --windowed --icon=icon.ico --add-data "icon.ico;." --add-data "logo.png;." --add-data "splash.png;." --add-data "favorites.json;." --add-binary "C:\Program Files\VideoLAN\VLC\libvlc.dll;." --add-binary "C:\Program Files\VideoLAN\VLC\libvlccore.dll;." --add-data "C:\Program Files\VideoLAN\VLC\plugins;plugins" --hidden-import=vlc david_tv.py

# Or use the spec file
pyinstaller david_tv.spec

Note: Adjust VLC paths if installed in a different location.

Linux

# Install PyInstaller
pip install pyinstaller

# Build executable
pyinstaller --onefile --windowed --icon=icon.ico \
--add-data "icon.ico:." \
--add-data "logo.png:." \
--add-data "splash.png:." \
--add-data "favorites.json:." \
--add-binary "/usr/lib/x86_64-linux-gnu/libvlc.so.5:." \
--add-binary "/usr/lib/x86_64-linux-gnu/libvlccore.so.9:." \
--add-data "/usr/lib/x86_64-linux-gnu/vlc/plugins:plugins" \
--hidden-import=vlc \
david_tv.py

Note: VLC library paths may vary by distribution. Check with:

dpkg -L vlc-bin | grep libvlc

macOS

# Install PyInstaller
pip install pyinstaller

# Build executable
pyinstaller --onefile --windowed --icon=icon.icns \
--add-data "icon.ico:." \
--add-data "logo.png:." \
--add-data "splash.png:." \
--add-data "favorites.json:." \
--add-binary "/Applications/VLC.app/Contents/MacOS/lib/libvlc.dylib:." \
--add-binary "/Applications/VLC.app/Contents/MacOS/lib/libvlccore.dylib:." \
--add-data "/Applications/VLC.app/Contents/MacOS/plugins:plugins" \
--hidden-import=vlc \
david_tv.py

โŒจ๏ธ Keyboard Shortcuts

Key Action
Space Play/Pause
โ†’ / โ†“ Next Channel
โ† / โ†‘ Previous Channel
+ / = Volume Up
- Volume Down
M Mute/Unmute
F11 Toggle Fullscreen
Esc Exit Fullscreen
Double Click Toggle Fullscreen

๐ŸŽฏ Usage

  1. Select Language: Choose from the dropdown menu
  2. Search Channels: Type in the search box to filter channels
  3. Play Channel: Click on any channel in the list
  4. Add to Favorites: Select a channel and click "โญ Favorite"
  5. Adjust Volume: Use slider or keyboard shortcuts (+, -)
  6. Fullscreen: Click button, press F11, or double-click video

๐Ÿ“‹ Requirements

Python Packages

tkinter (usually included with Python)
python-vlc>=3.0.0
Pillow>=9.0.0
requests>=2.27.0

System Requirements

  • VLC Media Player: Must be installed separately
    • Windows: Download VLC
    • Linux: sudo apt install vlc (Ubuntu/Debian) or sudo yum install vlc (Fedora/RHEL)
    • macOS: brew install vlc or Download VLC

๐Ÿ—‚๏ธ Project Structure

david-tv/
โ”œโ”€โ”€ david_tv.py          # Main application
โ”œโ”€โ”€ icon.ico             # Application icon
โ”œโ”€โ”€ logo.png             # App logo (200x70)
โ”œโ”€โ”€ splash.png           # Splash screen
โ”œโ”€โ”€ favorites.json       # Saved favorites (auto-generated)
โ”œโ”€โ”€ requirements.txt     # Python dependencies
โ”œโ”€โ”€ david_tv.spec        # PyInstaller spec file
โ””โ”€โ”€ README.md            # This file

๐Ÿ”ง Configuration

Custom IPTV Sources

Edit the LANGUAGE_PLAYLISTS dictionary in david_tv.py:

LANGUAGE_PLAYLISTS = {
    "Hindi": "https://your-custom-playlist.m3u",
    "Custom": "https://another-playlist.m3u",
}

Change Default Volume

Modify the init_audio() function:

def init_audio():
    player.audio_set_volume(50)  # Set to 50%

๐Ÿ› Troubleshooting

Volume Not Working

  • Ensure VLC is properly installed
  • Try running from terminal/command prompt to see error messages
  • Check system audio settings

Two Windows Appear (Windows)

  • Make sure you're using the fixed code with proper VLC embedding
  • Verify --windowed flag is used in PyInstaller command

Channels Not Loading

  • Check internet connection
  • Some IPTV sources may be temporarily unavailable
  • Try switching to a different language category

Icon Not Showing

  • Ensure icon.ico is in the same directory
  • Use --add-data "icon.ico;." in PyInstaller command
  • Check icon file is valid .ico format

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ‘จโ€๐Ÿ’ป Author

David

About

DAVID TV is a modern, open-source IPTV desktop application that allows users to watch 800+ free Indian live TV channels in a clean, fast, and TV-like interface.

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
license.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published