{"id":28961512,"url":"https://github.com/zero3k/tardsplaya","last_synced_at":"2026-04-07T04:31:17.286Z","repository":{"id":299865449,"uuid":"1003239050","full_name":"Zero3K/Tardsplaya","owner":"Zero3K","description":"Tardsplaya is a program that buffers Twitch streams to MPC-HC/MPC-BE/VLC/etc.","archived":false,"fork":false,"pushed_at":"2025-07-27T15:39:26.000Z","size":1400,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-27T17:45:57.454Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zero3K.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-16T20:55:51.000Z","updated_at":"2025-07-19T17:07:21.000Z","dependencies_parsed_at":"2025-07-15T16:35:07.225Z","dependency_job_id":"7fbabb7e-01d8-4bd6-8613-1471fa2206df","html_url":"https://github.com/Zero3K/Tardsplaya","commit_stats":null,"previous_names":["zero3k/tardsplaya"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Zero3K/Tardsplaya","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zero3K%2FTardsplaya","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zero3K%2FTardsplaya/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zero3K%2FTardsplaya/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zero3K%2FTardsplaya/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zero3K","download_url":"https://codeload.github.com/Zero3K/Tardsplaya/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zero3K%2FTardsplaya/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31500397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-24T02:03:47.183Z","updated_at":"2026-04-07T04:31:17.278Z","avatar_url":"https://github.com/Zero3K.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tardsplaya\n\nA Twitch stream player for Windows with enhanced TLS support.\n\n## Features\n\n- Multi-tab stream viewing\n- Quality selection\n- Windows 7+ compatibility\n- **Enhanced TLS Client Support** - Custom TLS implementation for better compatibility with older Windows versions\n\n## TX-Queue IPC Integration for Enhanced Performance\n\n**TX-Queue IPC Mode** - Advanced high-performance inter-process communication system:\n\n- **Lock-Free Queues**: Uses tx-queue's transactional lock-free circular queues for maximum throughput\n- **Producer/Consumer Pattern**: Separate threads for downloading segments and feeding to media player\n- **Named Pipe Integration**: Maintains compatibility with media players via stdin piping  \n- **Checksum Validation**: Built-in data integrity verification for reliable streaming\n- **Zero-Copy Operations**: Minimizes memory allocations and data copying\n- **Cross-Stream Isolation**: Each stream uses independent tx-queue for optimal multi-stream performance\n\n### TX-Queue Technical Details\n\nThe TX-Queue integration includes:\n\n- `tx_queue_ipc.h/cpp` - High-level IPC management with tx-queue integration\n- `tx_queue_wrapper.h` - Wrapper for tx-queue headers with proper Windows compatibility\n- Enhanced segment buffering with transactional semantics\n- Real-time statistics and performance monitoring\n- Adaptive buffer sizing based on stream characteristics\n\n### Performance Benefits\n\n| Feature | Before | After |\n|---------|--------|--------|\n| IPC Method | `std::queue` with mutexes | Lock-free tx-queue transactions |\n| Memory Efficiency | Standard allocations | Cache-line aligned zero-copy operations |\n| Thread Safety | Mutex-based synchronization | Lock-free atomic operations |\n| **Multi-Stream Performance** | **Degrades with concurrent streams** | **Scales linearly with isolated tx-queues** |\n| **Data Integrity** | **Basic error handling** | **Built-in checksum validation** |\n| **Throughput** | **Limited by lock contention** | **High-performance lock-free design** |\n\nThe integration works transparently:\n1. **Primary**: TX-Queue IPC mode for optimal performance (default)\n2. **Fallback**: TSDuck transport stream mode for professional compatibility  \n3. **Legacy**: Traditional HLS segment streaming for maximum compatibility\n\n### TX-Queue IPC Mode (Default)\n\n**Default Streaming Mode**: TX-Queue IPC Mode is now the standard streaming method:\n\n- **High-Performance IPC**: Lock-free producer/consumer queues between download and playback threads\n- **Transactional Semantics**: Guaranteed data integrity with automatic rollback on errors\n- **Named Pipe Output**: Maintains compatibility with all media players expecting stdin input\n- **Adaptive Buffering**: Dynamic buffer sizing based on stream characteristics and system load\n- **Zero-Copy Design**: Minimizes memory allocations and data movement\n\nTX-Queue IPC Mode provides superior performance and reliability compared to traditional mutex-based streaming.\n\n## TLS Client Integration\n\nThis version includes an integrated TLS client from the [tlsclient](https://github.com/zero3k/tlsclient) repository, providing:\n\n- **TLS 1.2/1.3 Support**: Modern encryption standards\n- **Windows 7 Compatibility**: Better HTTPS support on older Windows versions\n- **Fallback Mechanism**: Automatically switches to TLS client when WinHTTP fails\n- **Certificate Bypass**: Designed for compatibility without strict certificate validation\n\n### Technical Details\n\nThe TLS client integration includes:\n\n- `tlsclient.h/cpp` - Main TLS client wrapper\n- Crypto components: `chacha20.c`, `ecc.c`, `gcm.c`, `sha2.c`\n- TLS protocol implementation: `tls.h`, `tlsclient_source.cpp`\n- Thread-safe locking: `lock.h`\n\nThe integration works as a fallback system:\n1. Primary: WinHTTP (standard Windows HTTP library)\n2. Fallback: Custom TLS client (when WinHTTP fails or on older systems)\n\n## Building\n\nRequires Visual Studio 2015 or later. The project includes all necessary TLS client components and will compile them automatically.\n\n## Compatibility\n\n- Windows 7 SP1 and later\n- Enhanced TLS support for older Windows versions\n- Automatically handles TLS compatibility issues - Twitch Stream Buffer\n\nA C++ application that buffers Twitch streams to media players like MPC-HC, MPC-BE, VLC, and MPV.\n\n## Features\n\n- **Stream Buffering**: Downloads and buffers stream segments before sending to media player for smooth playback\n- **Multiple Quality Support**: Automatically detects and allows selection of available stream qualities\n- **Multi-Stream Support**: Open multiple tabs to watch different streams simultaneously\n- **Windows 7 Compatibility**: Includes certificate validation workarounds for older Windows versions\n- **Real-time Logging**: Shows detailed logs of streaming operations\n- **Modern C++ Implementation**: Clean, efficient C++17 code with minimal dependencies\n\n## Requirements\n\n- Windows 7 or later\n- Media player (MPV recommended, also supports VLC, MPC-HC, MPC-BE)\n- Internet connection\n\n## Usage\n\n1. **Launch the application**\n2. **Enter a Twitch channel name** in the Channel field\n3. **Click \"Load\"** to fetch available stream qualities\n4. **Select a quality** from the dropdown list\n5. **Click \"Watch\"** to start buffered streaming\n6. **Click \"Stop\"** to stop the stream\n\n### Multiple Streams\n\n- Use **File → New Stream** (Ctrl+T) to open additional tabs\n- Use **File → Close Active Stream** (Ctrl+W) to close the current tab\n- Use **File → Close All Streams** to close all tabs\n\n## Configuration\n\nThe application defaults to using MPV as the media player. To use a different player:\n\n1. Go to **Tools → Settings** (when implemented)\n2. Set the player path and arguments\n\nDefault settings:\n- Player: `mpv.exe`\n- Arguments: `-` (reads from stdin)\n\n## Technical Improvements\n\nThis C++ version includes several improvements over the original:\n\n### Windows 7 Compatibility\n- Certificate validation bypass for HTTPS requests\n- Compatible with older root certificate stores\n\n### Modern API Usage\n- Updated Twitch API endpoints\n- Proper error handling and retry logic\n- Thread-safe logging system\n\n### Memory Efficiency\n- Minimal memory footprint\n- Efficient stream buffering\n- Clean resource management\n\n### Code Quality\n- Removed deprecated `\u003ccodecvt\u003e` header usage\n- Modern C++17 features\n- Comprehensive error handling\n\n## Building\n\nRequirements:\n- Visual Studio 2019 or later\n- Windows SDK 10.0\n\nBuild steps:\n1. Open `Tardsplaya.sln` in Visual Studio\n2. Select Release configuration\n3. Build → Build Solution\n\n## License\n\nGNU General Public License v3.0\n\n## Contributing\n\nFeel free to submit issues and pull requests to improve the application.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero3k%2Ftardsplaya","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzero3k%2Ftardsplaya","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero3k%2Ftardsplaya/lists"}