Top Related Projects
Tvheadend is the leading TV streaming server for Linux with ATSC, DVB-C/C2, DVB-S/S2, DVB-T/T2, IPTV, SAT>IP and unix pipe input sources
The Free Software Media System
UPnP Media Server for 2024: Stream your digital media through your home network and consume it on all kinds of UPnP supporting devices 📱💻📺
Quick Overview
xTeVe is an M3U proxy server for Plex DVR and Emby Live TV. It acts as a bridge between IPTV services and media servers, allowing users to integrate their IPTV channels into Plex or Emby as if they were traditional TV tuners.
Pros
- Supports multiple IPTV providers and formats (M3U, XMLTV)
- Easy integration with Plex and Emby
- Web-based user interface for configuration and management
- Active development and community support
Cons
- Requires some technical knowledge to set up and configure
- May require additional hardware resources depending on the number of streams
- Limited documentation for advanced features
- Potential legal concerns depending on the source of IPTV streams
Getting Started
-
Download the latest release for your operating system from the GitHub releases page.
-
Extract the downloaded archive and run the xTeVe executable:
./xteve
-
Access the web interface at
http://localhost:34400
to configure your IPTV sources and settings. -
In Plex or Emby, add a new TV tuner using the xTeVe URL (e.g.,
http://localhost:34400/xmltv/xteve.xml
for EPG andhttp://localhost:34400/m3u/xteve.m3u
for channels). -
Scan for channels in your media server and enjoy your IPTV content.
For more detailed instructions and advanced configuration options, refer to the xTeVe wiki.
Competitor Comparisons
Tvheadend is the leading TV streaming server for Linux with ATSC, DVB-C/C2, DVB-S/S2, DVB-T/T2, IPTV, SAT>IP and unix pipe input sources
Pros of tvheadend
- More comprehensive TV management system with recording capabilities
- Supports a wider range of TV tuners and input sources
- Has a built-in Electronic Program Guide (EPG) grabber
Cons of tvheadend
- More complex setup and configuration process
- Heavier resource usage due to its extensive feature set
- Less focused on IPTV streaming compared to xTeVe
Code Comparison
tvheadend (C):
static void http_stream_run(http_connection_t *hc, profile_chain_t *prch,
const char *name, const char *info)
{
streaming_queue_t sq;
th_subscription_t *s;
streaming_target_t *st;
int error;
xTeVe (Go):
func (config *Config) LoadConfig() (err error) {
var configFile = config.GetConfigPath()
jsonString, err := ioutil.ReadFile(configFile)
if err != nil {
return
}
tvheadend is written in C and offers lower-level control over TV streaming and management, while xTeVe is written in Go and focuses on providing a simpler IPTV proxy solution. tvheadend's code snippet shows its streaming functionality, whereas xTeVe's code demonstrates configuration loading, highlighting their different primary focuses.
The Free Software Media System
Pros of Jellyfin
- Full-featured media server with a rich user interface
- Supports a wide range of media types and formats
- Active development with frequent updates and improvements
Cons of Jellyfin
- More resource-intensive due to its comprehensive feature set
- Steeper learning curve for setup and configuration
- May be overkill for users only needing IPTV functionality
Code Comparison
xTeVe (Go):
func (config *Config) getIPTVConfig() *IPTVConfig {
return &config.Files.IPTV
}
Jellyfin (C#):
public class MediaSourceInfo
{
public string Path { get; set; }
public string Protocol { get; set; }
public MediaProtocol MediaProtocol { get; set; }
}
Key Differences
- xTeVe focuses specifically on IPTV and DVR functionality, while Jellyfin is a comprehensive media server solution
- xTeVe is written in Go, whereas Jellyfin is primarily developed in C#
- Jellyfin offers a more polished user interface and broader device support
- xTeVe is more lightweight and easier to set up for basic IPTV needs
Use Cases
- Choose xTeVe for a lightweight, IPTV-focused solution with lower resource requirements
- Opt for Jellyfin when seeking a full-featured media server with extensive format support and a rich user experience
UPnP Media Server for 2024: Stream your digital media through your home network and consume it on all kinds of UPnP supporting devices 📱💻📺
Pros of Gerbera
- More comprehensive media server solution, supporting UPnP/DLNA protocols
- Actively maintained with regular updates and a larger community
- Supports a wider range of media types and transcoding options
Cons of Gerbera
- More complex setup and configuration process
- Higher system resource requirements due to its broader feature set
- Less focused on IPTV and live TV streaming compared to xTeVe
Code Comparison
xTeVe (Go):
func (config *Config) GetMappings() []Mapping {
return config.Mapping
}
Gerbera (C++):
std::shared_ptr<CdsObject> CdsResourceManager::createObject(const std::string& objectType)
{
return std::make_shared<CdsObject>(objectType);
}
Summary
Gerbera is a more comprehensive media server solution with broader support for various media types and protocols, while xTeVe focuses primarily on IPTV and live TV streaming. Gerbera offers more features but requires more setup and resources, whereas xTeVe is simpler and more specialized for its specific use case. The code comparison shows the different languages used (Go for xTeVe, C++ for Gerbera) and hints at their architectural differences.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
xTeVe
M3U Proxy for Plex DVR and Emby Live TV.
Documentation for setup and configuration is here.
Donation
- Bitcoin: 1c1iCe4CJPfNUXtqxKBbW2Qd2EtqRPWme
Requirements
Plex
- Plex Media Server (1.11.1.4730 or newer)
- Plex Client with DVR support
- Plex Pass
Emby
- Emby Server (3.5.3.0 or newer)
- Emby Client with Live-TV support
- Emby Premiere
Features
Files
- Merge external M3U files
- Merge external XMLTV files
- Automatic M3U and XMLTV update
- M3U and XMLTV export
Channel management
- Filtering streams
- Channel mapping
- Channel order
- Channel logos
- Channel categories
Streaming
- Buffer with HLS / M3U8 support
- Re-streaming
- Number of tuners adjustable
- Compatible with Plex / Emby EPG
Downloads v2 | 64 Bit only
64 Bit Intel / AMD
64 Bit ARM
Recommended Docker Image (Linux 64 Bit)
Thanks to @alturismo and @LeeD for creating the Docker Images.
Created by alturismo:
xTeVe
xTeVe / Guide2go
xTeVe / Guide2go / owi2plex
Including:
- Guide2go: XMLTV grabber for Schedules Direct
- owi2plex: XMLTV file grabber for Enigma receivers
Created by LeeD:
xTeVe / Guide2go / Zap2XML
Including:
- Guide2go: XMLTV grabber for Schedules Direct
- Zap2XML: Perl based zap2it XMLTV grabber
- Bash: A Unix / Linux shell
- Crond: Daemon to execute scheduled commands
- Perl: Programming language
xTeVe Beta branch
New features and bug fixes are only available in beta branch. Only after successful testing are they are merged into the master branch.
It is not recommended to use the beta version in a production system.
With the command line argument branch
the Git Branch can be changed. xTeVe must be started via the terminal.
Switch from master to beta branch:
xteve -branch beta
...
[xTeVe] GitHub: https://github.com/xteve-project
[xTeVe] Git Branch: beta [xteve-project]
...
Switch from beta to master branch:
xteve -branch master
...
[xTeVe] GitHub: https://github.com/xteve-project
[xTeVe] Git Branch: master [xteve-project]
...
When the branch is changed, an update is only performed if there is a new version and the update function is activated in the settings.
Build from source code [Go / Golang]
Requirements
- Go (go1.16.2 or newer)
Dependencies
Build
- Download source code
- Install dependencies
go get github.com/koron/go-ssdp
go get github.com/gorilla/websocket
go get github.com/kardianos/osext
- Build xTeVe
go build xteve.go
Fork without pull request :mega:
When creating a fork, the xTeVe GitHub account must be changed from the source code or the update function disabled. Future updates of the xteve-project would update your fork. :wink:
xteve.go - Line: 29
var GitHub = GitHubStruct{Branch: "master", User: "xteve-project", Repo: "xTeVe-Downloads", Update: true}
/*
Branch: GitHub Branch
User: GitHub Username
Repo: GitHub Repository
Update: Automatic updates from the GitHub repository [true|false]
*/
Top Related Projects
Tvheadend is the leading TV streaming server for Linux with ATSC, DVB-C/C2, DVB-S/S2, DVB-T/T2, IPTV, SAT>IP and unix pipe input sources
The Free Software Media System
UPnP Media Server for 2024: Stream your digital media through your home network and consume it on all kinds of UPnP supporting devices 📱💻📺
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot