Streama 搭建影视剧串流服务

Streama 是用 java 编写的影视剧管理系统,它可以为本地视频提供网页播放服务,使用界面类似 Netflix(官方Demo),下文将搭建 Streama ,实现网页在线观看本地视频

经测试,Streama 可能不支持 avi 格式视频,并且 Streama 在线播放不提供切换音轨等操作,不适合用于播放多音轨视频

环境

  • Windows Server 2016
    • 需要 Java SE runtime
    • nginx 等反代服务(可选)

参考

步骤

运行 Streama

  1. 安装 Java 环境
  2. 下载 Streama
  3. 设置为计划任务
    • 如下图,注意使用绝对路径
  4. 查看 Streama 运行情况
    • Streama 默认监听在 localhost:8080,运行前确保端口未被占用
    • 如果想更改 Steama 的默认监听端口,可以新建 application.yml 文件,详见 这里(官方文档)

获取 TMDb API 密钥

Streama 通过 The Movie Database 获取电影电视剧的信息,所以需要用户提供 TMDb 的 API 密钥

进入 The Movie Database,注册并登录,进入 设置 – API 即可获取自身账户的 API 密钥

设置 Streama

  1. 初始设置
    • 进入 localhost:8080,输入管理员账号密码(账号admin,密码admin),Streama 会自动跳转到设置界面
    • 如下图设置 Streama
    • 设置完毕点击页面底部右侧保存
  2. 添加剧集
    • 点击右上角 Manage Content – Create new Show,然后输入剧集名称点击即可添加
    • 添加成功后,点击 Fetch Episodes 获取该剧集信息,Streama会自动整理所有剧目
    • 在每集下点击 Manage Files 设置单集对应的本地文件,可以选择立即上传视频文件、输入远程视频的URL或者选择一个本地视频文件这里的本地文件路径为初始设置时的本地文件路径

Nginx 反向代理

Streama 默认监听在 localhost:8080,如果要在其他机器上访问,需要 nginx 等 Web 服务器反向代理

Windows 下在防火墙设置中将 java.exe 放行也可以使其他机器访问 Streama,但反向代理更安全且普适

  1. 下载并安装 nginx
  2. 配置 nginx
    • 打开 nginx\conf\nginx.conf,注释掉原有监听 80 端口的 server 块,更改为以下内容
      server {
        listen 80;
        listen [::]:80;
      
        server_name _;
      
        client_max_body_size 128g; # allows larger files (like videos) to be uploaded.
      
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      
            #WebSocket Support
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            
            proxy_pass http://localhost:8080;
        }
      }

  3. 以计划任务启动 nginx
    • 如下图设置计划任务

效果

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据