Docker Installation Issue

Which OS, and are you using Docker or Podman? Pi 4B?

A different OS might not have the video devices in the same location or naming scheme as Ubuntu does, so passing through the Docker run command as is will not pass the video devices to the container.

Also, I believe that Channels has its own proper aarch64 image now that handles hardware transcoding using V4L2.

1 Like

Thx for the replies. It is a Pi 4B running Ubuntu 20.03 LTS, x64. I have also tried the Channels aarch64 image which also only shows as software. The pass through devices show in the right places. I am not a docker expert by any means. I did the install running the following command:

docker run
  --detach \
  --name=channels-dvr \
  --net=host \
  --restart=unless-stopped \
  --device /dev/video10:/dev/video10 \
  --device /dev/video11:/dev/video11 \
  --device /dev/video12:/dev/video12 \
  --device /dev/video13:/dev/video13 \
  --device /dev/video14:/dev/video14 \
  --device /dev/video15:/dev/video15 \
  --device /dev/video16:/dev/video16 \
  --volume /mnt/disk/dvr/config:/channels-dvr \
  --volume /mnt/disk/dvr/recordings:/shares/DVR \
  ajvolin/channels-dvr:tve-arm64

It installs without issue and works as expected except for the transcoding option being software only.

Did you upgrade to prerelease?

I did for the ajvolin release with no change. I am currently running the official version: fancybits/channels-dvr:arm64 on the stable release.

And for reasons I don't know, I removed the container, moved the dvr data to a new folder and ran the command:

docker run --detach --name=channels-dvr2 --net=host --restart=unless-stopped --device /dev/video10:/dev/video10 --device /dev/video11:/dev/video11 --device /dev/video12:/dev/video12 --device /dev/video13:/dev/video13 --device /dev/video14:/dev/video14 --device /dev/video15:/dev/video15 --device /dev/video16:/dev/video16 --volume /mnt/disk/dvr:/channels-dvr ajvolin/channels-dvr:tve-arm64

Now it has hardware transcoding. Not sure why, but I am going to take the win.

1 Like

But now you won't be able to find your new recordings!

You're missing
--volume /mnt/disk/dvr/recordings:/shares/DVR

I've done that and I've also messed up by using /shares/DVR and then /shares/dvr

Everything is there. I am not sure why, but my original channels installation from the early days had it setup under a single directory. I did a backup, move the folder to /mnt/disk/dvr, installed the docker container from ajvolin, and did the restore procedure. All items are there and the hardware transcoder button is showing now and working (tested). I was able to view my dvr material without issue.

I note you said "new" recordings. Are you saying new items will not work?

No, they'll record to the container where you told Channels DVR to record to.
Probably still /shares/DVR.
But since you didn't map that to a native OS directory they end up in the container which keeps growing in size.