I have been trying for days to get transcoding to work in memories, especially since nearly all of my videos are mov.
I have tried installing on my Synology, unraid, and now TrueNAS scale. I was hoping to use Intel quick sync, but as of right now I can’t even get CPU transcoding to work.
Memories is a gorgeous app, but without transcoding it’s almost unusable. Videos take forever to load and usually only play audio, Live Photos don’t play at all despite having the Live Photo badge on them.
At this point I just want to get it working. QSV is preferred since it’s available in my i7 4790 already. If it’s easier or performs better I’m fine with nvenc too, I have access to a Quadro P400 I can throw in my TrueNAS box. If all else fails then I imagine a i7 4790 should be able to handle atleast 1 CPU transcode.
I am running 25.0.2, currently using the Truecharts container for TrueNAS, but I have also tried the official docket, The AIO docker, the linuxserver.io docker, and even a bare metal install on Synology Webstation.
This is typically a browser limitation. Nextcloud doesn’t decode the video itself. It relies on the web browser to be able to play it.
Can you play the video in your browser normally if you just open the video file?
This is typically a browser limitation
This is part of why I want to get trasncoding working. I don’t want the “experience” to be that tied into what browser someone is using.
Plus there are other benefits too, here is a quote taken from the Memories GitHub
Memories bundles a transcoding server with HLS capabilites for adaptive streaming. You need to configure transcoding to be able to play any videos. HLS enables the browser to download the video as small chunks and in resolutions adaptive to the connection speed. As a result, this is usually expected to have a major boost in video experience and performance.
I just make transcoding with HLS work on my Nextcloud memories. Currently I am using RTX3060 for hardware acceleration, and the playback is very smooth even if the original file is 4K 60fps hevc encoded video.
I also tried to enable QSV, but my CPU (i7-12700) seems not workable with VAAPI (issue). Thus if you have Nvidia GPU, CUDA may be the feasible way.
To make this work, I compiled ffmpeg with cuda (tutorial) from source, and installed vdpau as well.
I managed to run it on an Intel NUC with a i7-7567U CPU and QSV, but I had to build the ffmpeg myself. The standard Ubuntu 22.04 had errors when using the h264_qsv codec. Also the standard Intel drivers did not work if I remember correctly. But once the ffmpeg worked (try transcoding in command line), also the memories app worked well and fast.
To make this work, I compiled ffmpeg with cuda
Believe it or not I’m still trying to get this working. On a totally different system at this point.
I don’t mind compiling ffmpeg if I need to. but before I do, does the ffmpeg from the Ubuntu repository not already have Nvenc? I’m on Server 22.04.
I removed ffmpeg from the Ubuntu repo and compiled from source with nvenc, and still nothing. Im not even sure where to check for errors since /tmp/go-vod.log` doesnt get created when nvenc in enabled.
have you tried the external go-vod server? are you still having troubles?
I was having troubles after i added ffmpeg through apt in the docker container and configured transcoding. i ended up just turning off transcoding because the videos i have are mostly just cell phone uploads and they actually play perfectly fine without transcoding. when transcoding is turned on the ffmpeg process spikes in the container with a bunch of threads and hangs, and if you try to start another one it spawns a lot of other threads. i might try to compile from source in the container but … not sure what its worth to get going if having transcoding off works fine.
replying here again as i was searching for options of running the go-vod transcoder in a separate container on another box, came across this post and realized i was the last one to reply a few months ago and since then memories app has made a couple newer changes…
anyway recent versions of memories app with the built in go-vod seem to work ok, even when there is no gpu. i do have 16 cores allocated to my vm running the docker container though. it has its quirks, like i have to disable and re-enable the transcoding anytime i restart the nextcloud container. i also have a script to reinstall ffmpeg inside of the nextcloud container if i reset for some reason. i wish i could figure out why the go-vod process isnt starting after the nextcloud container is restarted since it works fine, you just have to go in and turn it off then it sees the go-vod process, and then turn it back on again and it works. the transcoding works well in chrome but sometimes gets hung up, in firefox it seems theres some sort of nonsense with firefox not supporting passing h.265 streams to be rendered by the device playing it and the result is a very choppy video while audio is playing ok. there might be some options in the transcoding that need to be passed to change the output stream but i havent dug into that just yet. so overall the current state is it kinda works ok, most of the time.