https://github.com/koho/playlist
Play your remote media folder via HTTP in your favorite media player.
https://github.com/koho/playlist
Last synced: 9 months ago
JSON representation
Play your remote media folder via HTTP in your favorite media player.
- Host: GitHub
- URL: https://github.com/koho/playlist
- Owner: koho
- License: apache-2.0
- Created: 2022-11-01T02:12:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-11-11T07:22:33.000Z (over 2 years ago)
- Last Synced: 2025-04-14T10:54:02.237Z (about 1 year ago)
- Language: Go
- Size: 27.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PlayList
Play your remote media folder via HTTP in your favorite media player.
## Get started
### Install ffmpeg
[ffmpeg](https://ffmpeg.org/) must be installed first.
### Create your config file
Place the config file `config.yml` to the same directory of the binary.
```yaml
listen: :6300
groups:
- name: private
path: /data/private
username: john
password: 123456
- name: share
path: /usr/share/family
```
### Start web server
```shell
./playlist
```
### Play
Open your favorite media player, import the playlist with the following url.
- http://server_ip:6300/private
- http://server_ip:6300/share
## Parameters
| Parameter | Description |
|-----------------|--------------------------------------------------------------------------------------------------------------------|
| listen | Listen address of the web server. |
| groups | All your media groups. |
| groups.name | Name of the media group. |
| groups.path | Path is where your media folder located. |
| groups.url | URL overwrites the default url of the media file. The final url joins the given url with the media file name. |
| groups.username | When Username is non-empty, the HTTP Basic Auth will be enabled. Otherwise, no authentication is needed. |
| groups.password | Password of the user. |
| thumb.dir | Dir is where the thumbnail of media file stored. |
| thumb.workers | Workers is the number of worker processes to generate thumbnails in parallel. Default is the half of logical CPUs. |
| thumb.size | Size sets the output thumbnail size. Default is 640:360. |
## With nginx
```
server {
listen 8933;
listen [::]:8933;
location /playlist/ {
proxy_pass http://127.0.0.1:6300/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Original-URI $request_uri;
}
}
```