docker系列 使用IPTVnator搭建基于web的IPTV在线播放平台

前言

对于我看IPTV只能用各种客户端来看的事实(虽然基本没看过),我心里是有点小不爽的,如果我哪一天在外面忽然想看IPTV但是又没带手机,没有带ipad,没带macbook呢?好吧,这种可能性太小,我主要是想搞个网页版的IPTV播放方案,这样任何人都可以通过网页直接看我家里的电信IPTV(估计有法律风险)。所以找了半天,找到了IPTVnator这个跨平台IPTV播放器,因为其有个网页版是通过docker来部署的,所以我想尝试下这个播放器的网页版能否满足我小小的要求。

IPTVnator特性简介:

  • M3u 和 M3u8 播放列表支持
  • 从文件系统上传播放列表
  • 通过 URL 添加远程播放列表
  • 播放列表自动更新功能
  • 从文件系统打开播放列表
  • 搜索频道
  • EPG 支持(电视指南)及详细信息
  • 电视档案/追看/时移
  • 基于组的频道列表
  • 将频道保存为收藏夹
  • 从所有播放列表汇总的全球最爱
  • 支持 HTML video player 视频播放器或基于 Video.js 的播放器
  • 国际化,目前支持 7 种语言(en、ru、de、ko、es、zh、fr)
  • 为播放列表设置自定义“用户代理”标头
  • 重新获取/自动更新播放列表
  • 浅色与黑暗的主题

“M3u 和 M3u8 播放列表支持”和”EPG 支持(电视指南)及详细信息”这两点都是我需要的,所以我就开始了下面的科研尝试之旅。

部署

IPTVnator由前端(对外web端)和后端2部分组成。
后端部署:
后端docker run命令如下:

docker run --name iptvnator-backend -d --restart=always \
-p 7333:3000 \
-e CLIENT_URL=http://localhost:4333 \
4gray/iptvnator-backend:latest

关键参数解释:
-p 7333:3000
映射宿主机的7333端口到容器的3000端口
-e CLIENT_URL=http://localhost:4333
指定前端的地址和端口
注意:这个4333是下面前端配置的宿主机映射端口,需要根据实际环境中配置的宿主机IP和前端映射端口修改,因为这个试验环境是前端后后端是同一个宿主机下的容器,所以可以用localhost来通信。如果是不同的宿主机容器环境,请根据前端的实际参数进行修改

前端部署:
前端docker run命令如下:

docker run --name iptvnator-web -d --restart=always --network=public-net \
-p 4333:80 \
-e BACKEND_URL=http://localhost:7333 \
4gray/iptvnator:latest

关键参数解释:
-p 4333:80
映射宿主机的4333端口到容器的80端口
-e BACKEND_URL=http://localhost:7333
指定后端的地址和端口,如果后端和前端都在同一台主机上,在前端和后端相互指定地址时都是用localhost即可。
github上的docker-compose.yml地址如下:https://github.com/4gray/iptvnator/blob/electron/docker/docker-compose.yml
如果打不开github,docker-compose.yml具体内容如下:

version: '3'

services:
  backend:
    image: 4gray/iptvnator-backend:latest
    ports:
      - "7333:3000"
    environment:
      - CLIENT_URL=http://localhost:4333 #this one should match with the address and port in frontend CLIENT_URL env

  frontend: 
    image: 4gray/iptvnator:latest
    ports:
      - "4333:80"
    environment:
      - BACKEND_URL=http://localhost:7333 # this one should match with the address of the backend service

初始配置及使用

修改语言为中文

使用http://宿主机ip:4333访问前端页面,点击右边红框按钮:

image.png

选择Settings:
image.png

image.png

添加播放列表

这里可以选择不同的添加方式添加播放列表:从文件添加、从URL添加以及从文本添加3种方式:

image.png

大家根据自己的实际情况选择方式,我在网上搜了一下直播源的m3u8试了一下:
image.png

结论

IPTVnator的定位是跨平台IPTV播放器,所以其有mac、win、linux、安卓的客户端,不过对于我而言,本地的播放客户端能用的太多了(VLC、MPV、APTV等等),我真正想要的是基于web且支持频道列表及EPG的网页播放器,这样才能完全摆脱客户端的束缚,所以看上了IPTVnator的网页版。但是实际测试下来,在国内特色的上网环境下,那些来自网络的IPTV直播源的播放效果非常的差强人意(本来直播源就不稳定,更别说可能还需要科学),而最关键的问题,是我原本搭建这个的初衷,是播放成都电信IPTV的m3u文件(前因后果参见:爱快软路由系列 实现电信IPTV全媒体播放),从而让我的全媒体播放解决方案真正完美,但是遗憾的是,系统自带的2个播放器:

image.png

HTML5 Video Player和VideoJs Player都无法正常播放爱快使用udpxy代理转换成来的http地址,前端最新的v15.0版本倒是多了MPV Player和VLS两个选项,可以通过指定本地安装这2个播放器的路径来实现播放,但是,这个就没有意义了呀,那我还不如直接用本地播放器来放了。为了验证是否只是docker版无法播放,我还直接安装了mac版的客户端,但是结果还是无法播放,所以就排除了只是docker版的问题。

所以我不得不承认,这次尝试没有达到我真正想要的效果,只能等以后前端升级之后再来尝试了。

IPTVnator提供了体验的地址,大家可以先去尝试一下:
IPTV体验站点地址

博客内容均系原创,转载请注明出处!更多博客文章,可以移步至网站地图了解。博客的RSS地址为:https://blog.tangwudi.com/feed,欢迎订阅;如有需要,可以加入Telegram群一起讨论问题。

评论

  1. chris
    Windows Edge 131.0.0.0
    3 天前
    2025-1-16 13:18:44

    when i go to web gui front end i add list and it sasy something about the backend not reachable now i have the backend url in front end and front end in back end oh im in docker unraid im not getting it sorry to bug

    • 博主
      chris
      Macintosh Chrome 131.0.0.0
      2 天前
      2025-1-17 15:30:52

      Is it related to the backend address specified in the frontend configuration during deployment? When I deployed the frontend, the backend address I pointed to was the physical IP address of the host machine, as per the official instructions. However, I just checked the official docker-compose.yml, and it has now been unified to localhost:


      查看图片
      image.png

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       

本站已禁用鼠标右键和各种快捷键,代码块内容可以直接在右上角点击复制按钮进行复制

zh_CN