Go-vod transcoding not connecting until turning off and on again

Nextcloud version (eg, 20.0.5): 27.1.4
Operating system and version (eg, Ubuntu 20.04): docker tag nextcloud:27.1.4
Apache or nginx version (eg, Apache 2.4.25): version used in container
PHP version (eg, 7.4): version used in container

The issue you are facing:
After starting the container after a reboot or stopping and starting the container the transcoding section in memories reports it cannot connect to
/var/www/html/apps/memories/bin-ext/go-vod-amd64
127.0.0.1:47788

after setting the “Enable External Transcoder” option to off then the connection error goes away and it shows that go-vod is available. then you can turn the setting back on and transcoding and thumbnails work again

I am manually installing ffmpeg in the container as needed if i stop and rm the container by running

docker exec -it nextcloud bash
apt update
apt install -y ffmpeg

Is this the first time you’ve seen this error? (Y/N): No, been this way since the go-vod transcoding options were changed in memories app

Steps to replicate it:

  1. stop docker container
  2. start docker container
  3. go to settings in memories and scroll down to transcoding and it shows it cannot connect
  4. turn off switch to enable transcoding, go-vod shows as available, turn it back on and transcoding works

The output of your Nextcloud log in Admin > Logging:
Nothing pertaining to the transcoding, i do have some errors related to pulling exif information out of pictures but seems unrelated

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):
Relevant entries below, can pull others if needed

  'memories.exiftool' => '/var/www/html/apps/memories/bin-ext/exiftool-amd64-glibc',
  'memories.vod.path' => '/var/www/html/apps/memories/bin-ext/go-vod-amd64',
  'memories.gis_type' => 2,
  'memories.vod.ffmpeg' => '/usr/bin/ffmpeg',
  'memories.vod.ffprobe' => '/usr/bin/ffprobe',
  'memories.vod.disable' => false,
  'preview_max_filesize_image' => 15,
  'preview_max_x' => 2048,
  'preview_max_y' => 2048,
  'enabledPreviewProviders' => 
  array (
    0 => 'OC\\Preview\\Movie',
    1 => 'OC\\Preview\\TIFF',
    2 => 'OC\\Preview\\HEIC',
    3 => 'OC\\Preview\\png',
    4 => 'OC\\Preview\\jpeg',
    5 => 'OC\\Preview\\heif',
    6 => 'OC\\Preview\\gif',
    7 => 'OC\\Preview\\bmp',
    8 => 'OC\\Preview\\mpeg',
    9 => 'OC\\Preview\\mp4',
    10 => 'OC\\Preview\\quicktime',
    11 => 'OC\\Preview\\x-matroska',
    12 => 'OC\\Preview\\MP2T',
    13 => 'OC\\Preview\\x-msvideo',
    14 => 'OC\\Preview\\c-dcraw',
    15 => 'OC\\Preview\\Image',
  ),
  'preview_max_memory' => 2048,
  'memories.vod.qf' => 25,
  'memories.vod.external' => true,

The output of your Apache/nginx/system log in /var/log/____:
can collect later if needed

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.
as mentioned only messages about EXIF data on some jpgs which dont seem to be related

Your config is either incomplete or wrong. You need to either use the internal transcoder (turn off “external transcoder”) or setup a separate container with the transcoder and configure the connect address correctly in the admin panel.

I believe your real issue is you cant run files in tmp. Are you using tmpfs? See the troubleshooting docs on the memories website.

I guess i misunderstood what the “enable external transcoder” option button did and that needed to be off to use the local. I had thought it had to be on to use the go-vod built in and then change the bind addresses if you wanted to use some other method/container. i turned that off and it does seem to be ok after a restart now. so the solution is not that my config is wrong, its that the option should be turned off to use the local. it seems confusing to show the bin and bind paths when the option is set to off to use local, but i could see how someone would want to configure this in some situations… but then i would think that would be considered “external” if you need to edit those variables.

i did set up a separate container but it had issues with using the tmp location, it said the files didnt exist there.

These options exist for folks running multiple instances of nextcloud on the same host with the internal transcoder, so they are relevant. It might make sense to hide the bind address when using an external transcoder though.

i did set up a separate container but it had issues with using the tmp location, it said the files didnt exist there.

As long as your mounts to both containers are identical, this shouldn’t happen. Unless there’s some external storage thing that slipped through …