Spaces:
Running
Running
Upload README.md
Browse files
README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: VNEWS
|
| 3 |
+
emoji: 📰
|
| 4 |
+
colorFrom: green
|
| 5 |
+
colorTo: yellow
|
| 6 |
+
sdk: docker
|
| 7 |
+
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- ml-intern
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# VNEWS - Tin Tức Việt Nam
|
| 13 |
+
|
| 14 |
+
**v18 - FIXED VTV2/VTV3/VTV6/VTV9 stream hanging**
|
| 15 |
+
|
| 16 |
+
## 🔧 Changes in v18 (2026-07-06)
|
| 17 |
+
- **VTV2, VTV3, VTV6, VTV9**: Skip expired ssaimh CDN token → immediately fall through to sv2.xemtivitop.com
|
| 18 |
+
- **15+ extraction patterns** for m3u8 URL (up from 5), including: file:, src=, source:, player.src(), hls.loadSource(), href=, `<source src>`, url:, window.location, iframe follow (3 levels deep), base64 decode
|
| 19 |
+
- **Backup CDN** `tv.mediacdn.vn` for VTV2/VTV3/VTV6/VTV9
|
| 20 |
+
- **Fast timeout** 5s for CDN, 12s for PHP endpoints (was 15s each = 60s+ total)
|
| 21 |
+
- **sv2.xemtivitop.com** re-prioritized to check BEFORE xemtv.us
|
| 22 |
+
- **Iframe chain following**: if a PHP page returns an iframe → follow it up to 3 levels to find the m3u8
|
| 23 |
+
|
| 24 |
+
## Features:
|
| 25 |
+
- 📰 News from VnExpress (10 categories) + GenK AI
|
| 26 |
+
- ⚽ Livescore from bongda.com.vn (live, today, upcoming, results, standings)
|
| 27 |
+
- 🎬 Football highlights from xemlaibongda.top (8 leagues)
|
| 28 |
+
- 📺 VTV live channels (VTV1→VTV10, VTV Prime)
|
| 29 |
+
- Priority: ssaimh CDN → sv2.xemtivitop.com → xemtv.us → xemtivitop blogspot → FPTPlay → VTVGo → mediacdn → xemtv.net
|
| 30 |
+
- 🏆 World Cup 2026 (news, fixtures, standings, stats, highlights)
|
| 31 |
+
- 🤖 AI article writing + TTS (multilingual, emotion-aware)
|
| 32 |
+
- 🔍 Topic search (8 news sources)
|
| 33 |
+
- 🎤 TTS: voice selector + emotion selector + speed control
|