Add openmax support
This commit is contained in:
@@ -50,4 +50,4 @@ COPY root/ /
|
|||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
EXPOSE 8096 8920
|
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
|
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
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
|
# add local files
|
||||||
COPY --from=buildstage /app/emby /app/emby
|
COPY --from=buildstage /app/emby /app/emby
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
EXPOSE 8096 8920
|
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
|
# add needed nvidia environment variables for https://github.com/NVIDIA/nvidia-docker
|
||||||
ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility"
|
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
|
# add local files
|
||||||
COPY --from=buildstage /app/emby /app/emby
|
COPY --from=buildstage /app/emby /app/emby
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
EXPOSE 8096 8920
|
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/tvshows:/data/tvshows \
|
||||||
-v /path/to/movies:/data/movies \
|
-v /path/to/movies:/data/movies \
|
||||||
-v /path/for/transcoding:/transcode `#optional` \
|
-v /path/for/transcoding:/transcode `#optional` \
|
||||||
|
-v /opt/vc/lib:/opt/vc/lib `#optional` \
|
||||||
--device /dev/dri:/dev/dri `#optional` \
|
--device /dev/dri:/dev/dri `#optional` \
|
||||||
|
--device /dev/vchiq:/dev/vchiq `#optional` \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
linuxserver/emby
|
linuxserver/emby
|
||||||
```
|
```
|
||||||
@@ -109,11 +111,13 @@ services:
|
|||||||
- /path/to/tvshows:/data/tvshows
|
- /path/to/tvshows:/data/tvshows
|
||||||
- /path/to/movies:/data/movies
|
- /path/to/movies:/data/movies
|
||||||
- /path/for/transcoding:/transcode #optional
|
- /path/for/transcoding:/transcode #optional
|
||||||
|
- /opt/vc/lib:/opt/vc/lib #optional
|
||||||
ports:
|
ports:
|
||||||
- 8096:8096
|
- 8096:8096
|
||||||
- 8920:8920 #optional
|
- 8920:8920 #optional
|
||||||
devices:
|
devices:
|
||||||
- /dev/dri:/dev/dri #optional
|
- /dev/dri:/dev/dri #optional
|
||||||
|
- /dev/vchiq:/dev/vchiq #optional
|
||||||
restart: unless-stopped
|
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/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 /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 /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/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)
|
## 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.
|
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
|
## Support Info
|
||||||
@@ -246,6 +260,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## 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).
|
* **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.
|
* **02.10.19:** - Improve permission fixing for render and dvb devices.
|
||||||
* **13.08.19:** - Add umask environment variable.
|
* **13.08.19:** - Add umask environment variable.
|
||||||
|
|||||||
@@ -40,9 +40,11 @@ opt_param_env_vars:
|
|||||||
opt_param_usage_include_vols: true
|
opt_param_usage_include_vols: true
|
||||||
opt_param_volumes:
|
opt_param_volumes:
|
||||||
- { vol_path: "/transcode", vol_host_path: "/path/for/transcoding", desc: "Path for transcoding folder, *optional*." }
|
- { 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_device_map: true
|
||||||
opt_param_devices:
|
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_usage_include_ports: true
|
||||||
opt_param_ports:
|
opt_param_ports:
|
||||||
- { external_port: "8920", internal_port: "8920", port_desc: "Https webUI (you need to setup your own certificate)." }
|
- { 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.
|
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
|
# changelog
|
||||||
changelogs:
|
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: "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: "02.10.19:", desc: "Improve permission fixing for render and dvb devices." }
|
||||||
- { date: "13.08.19:", desc: "Add umask environment variable." }
|
- { date: "13.08.19:", desc: "Add umask environment variable." }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/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
|
for i in $FILES
|
||||||
do
|
do
|
||||||
@@ -24,3 +24,10 @@ done
|
|||||||
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
|
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
|
||||||
usermod -a -G root abc
|
usermod -a -G root abc
|
||||||
fi
|
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