junkman690 33679a2bad Update wol
Update 98-rffmpeg

Squash all commits

Update README.md

Update Dockerfile

update maintainer

Delete Dockerfile.complex

Delete root/etc/services.d/sshvpn directory

Create 98-rffmpeg

Initial init script for rffmpeg

Update BuildImage.yml

Update README.md

Update 98-rffmpeg

Move rffmpeg.yml to config dir

Update README.md

Update 98-rffmpeg

Update 98-rffmpeg

Update README.md

Update README.md

Update 98-rffmpeg

Create 95-apt-get

Update 98-rffmpeg

Update README.md

Update README.md

Update 98-rffmpeg

Update 98-rffmpeg

Update 98-rffmpeg

Fix SED statements

Fix if statements

Update README.md

Update README.md

Update README.md

Update 98-rffmpeg

Create wol

Update 98-rffmpeg

Add WOL support

Update wol

Update wol

Add native and WOL API

Update wol

Update README.md

Update README.md

Update README.md

Update wol

Update 98-rffmpeg

Update README.md

Update README.md

Update wol

Update 98-rffmpeg

add +x to wol

Update 98-rffmpeg

Fix ssh permissions

Update 98-rffmpeg

add ping to api wol support

Update README.md

Update wol

Update README.md

Update README.md

Update README.md

Update README.md

Update README.md

Update README.md

Update README.md

Update README.md

Update README.md

Update wol

Update wol

Update README.md

Update README.md
2022-08-18 23:41:18 +10:00
2022-08-18 23:41:18 +10:00
2022-08-18 23:41:18 +10:00
2020-02-02 15:55:44 -05:00
2020-02-02 15:55:44 -05:00
2020-02-02 15:55:44 -05:00
2022-08-18 23:41:18 +10:00
2019-05-30 20:35:20 +01:00
2022-08-18 23:41:18 +10:00
wol
2022-08-18 23:41:18 +10:00

Jellyfin - Docker mod for rffmpeg support with OPTIONAL Wake On LAN (WOL) Support

This mod adds rffmpeg to Linuxserver.io's Jellyfin https://github.com/linuxserver/docker-jellyfin.

rffmpeg is a remote FFmpeg wrapper used to execute FFmpeg commands on a remote server via SSH. It is most useful in situations involving media servers such as Jellyfin (our reference user), where one might want to perform transcoding actions with FFmpeg on a remote machine or set of machines which can better handle transcoding, take advantage of hardware acceleration, or distribute transcodes across multiple servers for load balancing.

See https://github.com/joshuaboniface/rffmpeg for more details about rffmpeg

In Jellyfin docker arguments, set an environment variable DOCKER_MODS=linuxserver/mods:jellyfin-rffmpeg

If adding multiple mods, enter them in an array separated by |, such as DOCKER_MODS=linuxserver/mods:jellyfin-rffmpeg|linuxserver/mods:jellyfin-mod2

This mod requires you to update the rffmpeg.yml located in "Your jellyfin config dir"/rffmpeg/rffmpeg.yml with your remote SSH username. You also need to add your authorized SSH file to "Your jellyfin config dir"/rffmpeg/.ssh/id_rsa"

You can specify the remote SSH username and host using ENV, note currently only supports 1 host and doesn't overwrite values other than defaults:

  • RFFMPEG_USER= remote SSH username
  • RFFMPEG_HOST= remote server name or IP

You also need to ensure that /cache inside the container is exported on the host so it can be mapped on the remote host. Eg for docker compose. volumes: - "Your jellyfin config dir":/config - "Your jellyfin config dir"/cache:/cache See https://github.com/joshuaboniface/rffmpeg/blob/master/SETUP.md NFS setup for more details

EXAMPLE Docker-Compose file with WOL support via API:

---
version: "2.1"
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - RFFMPEG_USER=jellyfin
      - RFFMPEG_WOL=api
      - RFFMPEG_HOST=transcode
      - RFFMPEG_HOST_MAC="12:ab:34:cd:ef:56"
      - WOL_API=192.168.1.5  #docker host IP
      - WOL_API_PORT=8431
      - WOL_WAIT=10  #time transcode host takes to start
    volumes:
      - /path/to/jellyfin/config:/config
      - /path/to/jellyfin/config/cache:/cache
      - /path/to/data:/data/
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    restart: unless-stopped
    depends_on:
      - wol_api
  wol_api:
     image: rix1337/docker-wol_api
     container_name: wol_api
     environment: 
       - PORT=8431
     network_mode: host
     restart: unless-stopped

If you want to run rffmpeg commands they must be run as ABC inside the container eg:

  • To add new host docker exec -it jellyfin s6-setuidgid abc /usr/local/bin/rffmpeg add --weight 1 remotehost
  • To view status docker exec -it jellyfin s6-setuidgid abc /usr/local/bin/rffmpeg status
  • To test connection docker exec -it jellyfin s6-setuidgid abc /usr/local/bin/ffmpeg -version
  • To test connection docker exec -it jellyfin s6-setuidgid abc /usr/local/bin/ffprobe -version
  • To view all commands docker exec -it jellyfin s6-setuidgid abc /usr/local/bin/rffmpeg -h

You then need to set your FFMPEG binary in Jellyfin to:

  • /usr/local/bin/ffmpeg - Normal rffmpeg without WOL support
  • /usr/local/bin/wol_rffmpeg/ffmpeg - rffmpeg with WOL support

WOL Support Native WOL support is available if you are running in host network mode. If not you can use the WOL_API container https://hub.docker.com/r/rix1337/docker-wol_api. Note the image name is rix1337/docker-wol_api

WOL ENV:

  • RFFMPEG_WOL= native or api
  • RFFMPEG_HOST= remote host to wake
  • RFFMPEG_HOST_MAC= remote host to wake mac enclosed in " " eg "aa:12:34:bb:cc:56"
  • WOL_API = IP of docker host
  • WOL_API_PORT= port wol_api is running on
  • WOL_WAIT= time in seconds to wait for host to wake
Description
No description provided
Readme GPL-3.0 6.5 MiB
Languages
Text 100%