Skip to content

[功能需求] 优化回放参数、节目单加载逻辑 #706

Description

@taksssss

需求1、回放参数:

针对catchup="default"的回放地址,提供直接播放的选项:

catchup="default" catchup-source="http://hostname:port/xxx2?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}"

像这种地址,很有可能会出现udp上游无法直接播放,导致播放失败的情况。

2026/08/07 08:34:53 ERROR [Worker 0] HTTP Proxy: Failed to connect to rrs03.hw.gmcc.net:8088: Host is unreachable
2026/08/07 08:34:53 ERROR [Worker 0] HTTP Proxy: Socket event handling failed
2026/08/07 08:34:56 ERROR [Worker 0] HTTP Proxy: State 1 timed out after 3007 ms

希望可以提供选项,通过302重定向,直接使用源地址回放。

需求2、节目单加载逻辑:

不知道哪个版本开始,EPG文件稍微大一点的话,就会导致首次加载特别慢:

2026/08/07 16:51:09 INFO [Worker 0] New client 192.168.31.87:45528 requested URL: /player (method: GET)
2026/08/07 16:51:09 DEBUG [Worker 0] Client disconnected
2026/08/07 16:51:09 DEBUG [Worker 0] Multicast: Socket closed
2026/08/07 16:51:09 INFO [Worker 1] New client 192.168.31.87:50834 requested URL: /player.webmanifest (method: GET)
2026/08/07 16:51:09 INFO [Worker 0] New client 192.168.31.87:47381 requested URL: /playlist.m3u (method: GET)
2026/08/07 16:51:09 INFO [Worker 0] New client 192.168.31.87:1975 requested URL: /epg.xml (method: GET)
2026/08/07 16:51:18 INFO [Worker 0] New client 192.168.31.87:27132 requested URL: /assets/icon-192.png (method: GET)
2026/08/07 16:51:18 INFO [Worker 1] New client 192.168.31.87:9823 requested URL: /%E5%A4%AE%E8%A7%86/CCTV-5%E4%BD%93%E8%82%B2 (method: GET)
2026/08/07 16:51:18 INFO [Worker 1] Service matched: 央视/CCTV-5体育
2026/08/07 16:51:18 INFO [Worker 1] Multicast: Successfully joined group
2026/08/07 16:51:18 DEBUG [Worker 1] Multicast: Socket registered with poller
2026/08/07 16:51:18 DEBUG [Worker 1] RTP reorder: Init complete, base_seq=31766 (8 packets collected)

像上面这个,就久等了差不多10秒钟才出来界面。我在F12页面看,下载EPG文件只用了1秒左右。
下面这个把EPG文件清空,加载就很快:

2026/08/07 16:56:34 INFO [Worker 0] New client 192.168.31.87:63133 requested URL: /playlist.m3u (method: GET)
2026/08/07 16:56:34 DEBUG [Worker 0] Generating M3U with base URL: http://192.168.2.1:6777/
2026/08/07 16:56:35 INFO [Worker 1] New client 192.168.31.87:38336 requested URL: /epg.xml (method: GET)
2026/08/07 16:56:35 DEBUG [Worker 1] zerocopy_queue_add_file: Queued file fd=17 offset=0 size=38682
2026/08/07 16:56:35 DEBUG [Worker 1] Zero-copy: sendfile complete (38682 bytes)
2026/08/07 16:56:35 INFO [Worker 0] New client 192.168.31.87:41184 requested URL: /%E5%A4%AE%E8%A7%86/CCTV-5%E4%BD%93%E8%82%B2 (method: GET)
2026/08/07 16:56:35 INFO [Worker 0] Service matched: 央视/CCTV-5体育
2026/08/07 16:56:35 INFO [Worker 0] Multicast: Successfully joined group
2026/08/07 16:56:35 DEBUG [Worker 0] Multicast: Socket registered with poller
2026/08/07 16:56:36 DEBUG [Worker 0] RTP reorder: Init complete, base_seq=35043 (8 packets collected)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions