Add openmax support
This commit is contained in:
@@ -50,4 +50,4 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 8096 8920
|
||||
VOLUME /config /transcode
|
||||
VOLUME /config
|
||||
|
||||
@@ -44,10 +44,22 @@ LABEL maintainer="thelamer"
|
||||
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
|
||||
RUN \
|
||||
echo "**** add emby deps ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libomxil-bellagio0 \
|
||||
libomxil-bellagio-bin && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY --from=buildstage /app/emby /app/emby
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 8096 8920
|
||||
VOLUME /config /transcode
|
||||
VOLUME /config
|
||||
|
||||
@@ -44,10 +44,29 @@ LABEL maintainer="thelamer"
|
||||
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
gnupg && \
|
||||
echo "**** add emby deps *****" && \
|
||||
curl -s https://keyserver.ubuntu.com/pks/lookup?op=get\&search=0x6587ffd6536b8826e88a62547876ae518cbcf2f2 | apt-key add - && \
|
||||
echo "deb http://ppa.launchpad.net/ubuntu-raspi2/ppa/ubuntu bionic main">> /etc/apt/sources.list.d/raspbins.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libomxil-bellagio0 \
|
||||
libomxil-bellagio-bin \
|
||||
libraspberrypi0 && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY --from=buildstage /app/emby /app/emby
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 8096 8920
|
||||
VOLUME /config /transcode
|
||||
VOLUME /config
|
||||
|
||||
15
README.md
15
README.md
@@ -82,7 +82,9 @@ docker create \
|
||||
-v /path/to/tvshows:/data/tvshows \
|
||||
-v /path/to/movies:/data/movies \
|
||||
-v /path/for/transcoding:/transcode `#optional` \
|
||||
-v /opt/vc/lib:/opt/vc/lib `#optional` \
|
||||
--device /dev/dri:/dev/dri `#optional` \
|
||||
--device /dev/vchiq:/dev/vchiq `#optional` \
|
||||
--restart unless-stopped \
|
||||
linuxserver/emby
|
||||
```
|
||||
@@ -109,11 +111,13 @@ services:
|
||||
- /path/to/tvshows:/data/tvshows
|
||||
- /path/to/movies:/data/movies
|
||||
- /path/for/transcoding:/transcode #optional
|
||||
- /opt/vc/lib:/opt/vc/lib #optional
|
||||
ports:
|
||||
- 8096:8096
|
||||
- 8920:8920 #optional
|
||||
devices:
|
||||
- /dev/dri:/dev/dri #optional
|
||||
- /dev/vchiq:/dev/vchiq #optional
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
@@ -133,7 +137,9 @@ Container images are configured using parameters passed at runtime (such as thos
|
||||
| `-v /data/tvshows` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
|
||||
| `-v /data/movies` | Media goes here. Add as many as needed e.g. `/data/movies`, `/data/tv`, etc. |
|
||||
| `-v /transcode` | Path for transcoding folder, *optional*. |
|
||||
| `-v /opt/vc/lib` | Path for Raspberry Pi OpenMAX libs *optional*. |
|
||||
| `--device /dev/dri` | Only needed if you want to use your Intel GPU for hardware accelerated video encoding (vaapi). |
|
||||
| `--device /dev/vchiq` | Only needed if you want to use your Raspberry Pi OpenMax video encoding (Bellagio). |
|
||||
|
||||
## Environment variables from files (Docker secrets)
|
||||
|
||||
@@ -180,6 +186,14 @@ https://github.com/NVIDIA/nvidia-docker
|
||||
|
||||
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-docker is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the emby docker.
|
||||
|
||||
### OpenMAX (Raspberry Pi)
|
||||
|
||||
Hardware acceleration users for Raspberry Pi OpenMAX will need to mount their /dev/vchiq video device inside of the container and their system OpenMax libs by passing the following options when running or creating the container:
|
||||
```
|
||||
--device=/dev/vchiq:/dev/vchiq
|
||||
-v /opt/vc/lib:/opt/vc/lib
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Support Info
|
||||
@@ -246,6 +260,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **26.02.20:** - Add openmax support on Raspberry Pi.
|
||||
* **15.02.20:** - Allow restarting emby from the gui (also allows for auto restarts after addon updates).
|
||||
* **02.10.19:** - Improve permission fixing for render and dvb devices.
|
||||
* **13.08.19:** - Add umask environment variable.
|
||||
|
||||
@@ -40,9 +40,11 @@ opt_param_env_vars:
|
||||
opt_param_usage_include_vols: true
|
||||
opt_param_volumes:
|
||||
- { vol_path: "/transcode", vol_host_path: "/path/for/transcoding", desc: "Path for transcoding folder, *optional*." }
|
||||
- { vol_path: "/opt/vc/lib", vol_host_path: "/opt/vc/lib", desc: "Path for Raspberry Pi OpenMAX libs *optional*." }
|
||||
opt_param_device_map: true
|
||||
opt_param_devices:
|
||||
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your Intel GPU for hardware accelerated video encoding (vaapi)." }
|
||||
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "Only needed if you want to use your Intel GPU for hardware accelerated video encoding (vaapi)." }
|
||||
- { device_path: "/dev/vchiq", device_host_path: "/dev/vchiq", desc: "Only needed if you want to use your Raspberry Pi OpenMax video encoding (Bellagio)." }
|
||||
opt_param_usage_include_ports: true
|
||||
opt_param_ports:
|
||||
- { external_port: "8920", internal_port: "8920", port_desc: "Https webUI (you need to setup your own certificate)." }
|
||||
@@ -67,8 +69,17 @@ app_setup_block: |
|
||||
|
||||
We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-docker is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the emby docker.
|
||||
|
||||
### OpenMAX (Raspberry Pi)
|
||||
|
||||
Hardware acceleration users for Raspberry Pi OpenMAX will need to mount their /dev/vchiq video device inside of the container and their system OpenMax libs by passing the following options when running or creating the container:
|
||||
```
|
||||
--device=/dev/vchiq:/dev/vchiq
|
||||
-v /opt/vc/lib:/opt/vc/lib
|
||||
```
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "26.02.20:", desc: "Add openmax support on Raspberry Pi." }
|
||||
- { date: "15.02.20:", desc: "Allow restarting emby from the gui (also allows for auto restarts after addon updates)." }
|
||||
- { date: "02.10.19:", desc: "Improve permission fixing for render and dvb devices." }
|
||||
- { date: "13.08.19:", desc: "Add umask environment variable." }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null)
|
||||
FILES=$(find /dev/dri /dev/dvb /dev/vchiq -type c -print 2>/dev/null)
|
||||
|
||||
for i in $FILES
|
||||
do
|
||||
@@ -24,3 +24,10 @@ done
|
||||
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
|
||||
usermod -a -G root abc
|
||||
fi
|
||||
|
||||
# openmax lib loading
|
||||
if [ -e "/opt/vc/lib" ] && [ ! -e "/etc/ld.so.conf.d/00-vmcs.conf" ]; then
|
||||
echo "[emby-init] Pi Libs detected loading"
|
||||
echo "/opt/vc/lib" > "/etc/ld.so.conf.d/00-vmcs.conf"
|
||||
ldconfig
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user