-
Notifications
You must be signed in to change notification settings - Fork 194
Description
`17:00:10 INFO [Worker 0] New client 192.168.88.108:7080 requested URL: /%E5%B9%BF%E4%B8%9C%E7%94%B5%E8%A7%86%E5%8F%B0/%E5%B9%BF%E4%B8%9C%E5%8D%AB%E8%A7%86 (method: GET)
17:00:10 INFO [Worker 0] Service matched: 广东电视台/广东卫视
17:00:10 INFO [Worker 0] FCC: Using Telecom/ZTE/Fiberhome FCC protocol
17:00:10 DEBUG [Worker 0] FCC: Initializing FCC session and sending request
17:00:10 DEBUG [Worker 0] FCC: Bound client socket to port 40077
17:00:10 DEBUG [Worker 0] FCC: Socket registered with epoll
17:00:10 DEBUG [Worker 0] FCC (Telecom): Request (FMT 2) sent to server 183.59.168.166:8027
17:00:10 DEBUG [Worker 0] FCC State: INIT -> REQUESTED (Request sent)
17:00:10 DEBUG [Worker 0] FCC Response: FMT=3, result=0, signal_port=8027, media_port=0, valid_time=3600, speed=0 bps, speed_after_sync=0 bps
17:00:10 DEBUG [Worker 0] FCC (Telecom): Server provided new IP: 183.59.174.45
17:00:10 DEBUG [Worker 0] FCC (Telecom): Server requests redirection to new server 183.59.174.45:8027 (redirect #1)
17:00:10 DEBUG [Worker 0] FCC State: REQUESTED -> INIT (Server redirect)
17:00:10 DEBUG [Worker 0] FCC: Initializing FCC session and sending request
17:00:10 DEBUG [Worker 0] FCC (Telecom): Request (FMT 2) sent to server 183.59.174.45:8027
17:00:10 DEBUG [Worker 0] FCC State: INIT -> REQUESTED (Request sent)
17:00:10 DEBUG [Worker 0] FCC Response: FMT=3, result=0, signal_port=0, media_port=8082, valid_time=0, speed=10.41 Mbps, speed_after_sync=1.73 Mbps
17:00:10 DEBUG [Worker 0] FCC (Telecom): Server provided new media port: 8082
17:00:10 DEBUG [Worker 0] FCC State: REQUESTED -> UNICAST_PENDING (Server accepted request)
17:00:10 DEBUG [Worker 0] FCC (Telecom): Server accepted request, waiting for unicast stream
17:00:10 DEBUG [Worker 0] FCC State: UNICAST_PENDING -> UNICAST_ACTIVE (First unicast packet received)
17:00:10 INFO [Worker 0] FCC: Unicast stream started successfully
17:00:10 DEBUG [Worker 0] RTP packet loss detected - expected seq 50929, received 50932 (gap: 3 packets)
17:00:10 DEBUG [Worker 0] Out-of-order RTP packet discarded - last sent seq 50933, received 50929 (diff: -4)
17:00:10 DEBUG [Worker 0] Out-of-order RTP packet discarded - last sent seq 50933, received 50930 (diff: -3)
17:00:10 DEBUG [Worker 0] Out-of-order RTP packet discarded - last sent seq 50933, received 50931 (diff: -2)
17:00:11 DEBUG [Worker 0] Client disconnected
17:00:11 DEBUG [Worker 0] FCC: Sending termination packet (cleanup)
17:00:11 DEBUG [Worker 0] FCC (Telecom): Termination packet (FMT 5) sent (cleanup), seqn=0
17:00:11 DEBUG [Worker 0] FCC: Socket closed
17:00:11 DEBUG [Worker 0] RTSP: Cleanup called in state 0, skipping (already cleaning up or done)
17:00:11 DEBUG [Worker 0] RTSP: Session cleanup complete
17:00:11 INFO [Worker 0] New client 192.168.88.108:7081 requested URL: /%E5%B9%BF%E4%B8%9C%E7%94%B5%E8%A7%86%E5%8F%B0/%E5%B9%BF%E4%B8%9C%E5%8D%AB%E8%A7%86 (method: GET)
17:00:11 INFO [Worker 0] Service matched: 广东电视台/广东卫视
17:00:11 INFO [Worker 0] FCC: Using Telecom/ZTE/Fiberhome FCC protocol
17:00:11 DEBUG [Worker 0] FCC: Initializing FCC session and sending request
17:00:11 DEBUG [Worker 0] FCC: Bound client socket to port 40055
17:00:11 DEBUG [Worker 0] FCC: Socket registered with epoll
17:00:11 DEBUG [Worker 0] FCC (Telecom): Request (FMT 2) sent to server 183.59.168.166:8027
17:00:11 DEBUG [Worker 0] FCC State: INIT -> REQUESTED (Request sent)
17:00:11 WARN [Worker 0] FCC: Server response timeout (80 ms), falling back to multicast
17:00:11 DEBUG [Worker 0] FCC State: REQUESTED -> MCAST_ACTIVE (Signaling timeout)
17:00:11 INFO [Worker 0] Multicast: Successfully joined group
17:00:11 DEBUG [Worker 0] Multicast: Socket registered with epoll`
这个是日志,相关的路由规则防火墙都指向了pppoe-iptv ,我使用vlan 来进行的,eth0为物理口 ,设置VLAN (802.1q) vlan41网络(pppoe方式),接口设置wan,vlan45iptv(pppoe模式)接口设置iptv;eth1物理口,设置网桥设备为br-lan,接口lan,现在就出现了上面的这些错误!FCC成功率很低!检查了相关的配置,都没有问题!
配置文件:
`[global]
日志详细程度: 0=FATAL 1=ERROR 2=WARN 3=INFO 4=DEBUG
verbosity = 4
最大并发客户端数
maxclients = 20
UDPxy 兼容性
udpxy = yes
工作进程数(默认: 1)
workers = 1
检查 HTTP 请求的 Host 头 (默认:无)
hostname = somehost.example.com
启用后,将使用 HTTP X-Forwarded-For 头作为客户端地址,用于显示在状态面板上 (默认:no)
并接受 X-Forwarded-Host / X-Forwarded-Proto 头作为 playlist.m3u 中的地址前缀
建议仅在使用反向代理时启用
xff = no
HTTP 请求认证令牌(可选,默认: 无)
设置后,所有 HTTP 请求必须携带 r2h-token 查询参数,且值与此配置匹配
例如:
http://server:5140/rtp/239.253.64.120:5140?fcc=10.255.14.152:15970&r2h-token=your-secret-token
http://server:5140/player?r2h-token=your-secret-token
r2h-token = your-secret-token-here
状态页路径(默认: /status)
status-page-path = /status
播放器页路径(默认: /player)
player-page-path = /player
上游网络接口配置 (可选)
简单配置:只配置一个默认接口,所有流量类型都使用此接口
#upstream-interface = eth0
高级配置:为不同流量类型配置专用接口
注意:专用接口配置优先级高于默认接口
upstream-interface-multicast = eth0.45
upstream-interface-fcc = pppoe-iptv
upstream-interface-rtsp = pppoe-iptv
混合配置示例:默认使用 eth0,但 FCC 使用更快的 eth1
upstream-interface = eth0
upstream-interface-fcc = eth1
优先级:upstream-interface-{multicast,fcc,rtsp} > upstream-interface > 系统路由表
外部 M3U 配置(支持 file://, http://, https://)
注意:HTTP/HTTPS 需要安装 curl 命令
external-m3u = http://192.168.88.101:5688/index.php?token=5383f9a7fe&live=m3u
或使用本地文件
#external-m3u =
外部 M3U 更新间隔(秒)
默认 7200(2 小时),设为 0 禁用自动更新
external-m3u-update-interval = 7200
组播周期性重新加入间隔(秒,默认: 0 禁用)
设置为正值(如 60)以周期性重新加入组播组
这是针对以下网络环境的兼容性解决方案:
- 启用 IGMP snooping 的交换机在没有路由器 IGMP Query 时超时
- 配置不当的网络设备会丢弃组播成员关系
推荐值: 30-120 秒(小于典型交换机超时 260 秒)
注意:默认禁用(0),仅在遇到组播流中断时才需要启用
mcast-rejoin-interval = 60
FCC 监听媒体流端口范围(可选,格式: 起始-结束,默认随机端口)
fcc-listen-port-range = 40000-40100
缓冲池最大缓冲区数量(默认: 16384)
每个缓冲区 1536 字节,16384 个约占用 24MB 内存
增大此值以提高多客户端并发时的吞吐量,例如设置为 32768 或更高
buffer-pool-max-size = 163840
启用零拷贝发送以提升性能(默认: no)
设为 yes/true/on/1 以启用零拷贝
需要内核支持 MSG_ZEROCOPY (Linux 4.14+)
在支持的设备上可提升吞吐量并降低 CPU 占用,特别是在高并发负载下
如果你的 rtp2httpd 位于反向代理之后 (nginx/caddy/lucky 等),不建议开启这个选项
zerocopy-on-send = yes
启用视频快照功能(默认: no)
启用后可通过 snapshot=1 查询参数获取视频流的实时快照
video-snapshot = no
FFmpeg 可执行文件路径(默认: ffmpeg,使用系统 PATH)
如果 ffmpeg 不在 PATH 中或想使用特定版本,请指定完整路径
ffmpeg-path = /usr/bin/ffmpeg
FFmpeg 额外参数(默认: -hwaccel none)
这些参数在生成快照时传递给 ffmpeg
常用选项: -hwaccel none, -hwaccel auto, -hwaccel vaapi, -hwaccel qsv
ffmpeg-args = -hwaccel none
[bind]
监听所有地址的 5140 端口
- 5140
监听特定 IP 的 8081 端口
#192.168.1.1 8081
支持多个监听地址
[services] 内可以直接编写以 #EXTM3U 开头的 m3u 节目清单
和 external-m3u 功能类似,只是直接把 m3u 写在了配置文件内`
组播可以正常播放,单播一直没有测试成功!fcc偶尔一次能够成功!见上面的相关日志!