Immich transcoding questions
Hello, I'm starting to use immich for the first time and have a few questions.
My setup is proxmox baremetal with a VM with passed through Intel iGPU. I enabled qsv and it works. I'm running immich through docker compose on the vm
My questions:
1) why does transcoding not stop after deleting the video that initialized transcoding?
2) why does transcoding not stop when I pause it in the admin dashboard?
3) why does transcoding still utilize like 70% of my cpu cores (6 cores) even if i'm transcoding on the gpu?
I asked this question on the #immich channel and someone replied, I will paste the reply for more context
1) the job is queued and processed, there is nothing killing the job. Generally you won't delete the media item in this short time frame (perhaps with the exclusion of initial onboarding) 2) it's finishing the file(s) that it's working on, but will not process any new ones 3) need logs from containers. If they are loading the models correctly, perhaps it's cpu decoding and hw encodingI have a few more questions now: 1) How do I kill the transcoding jobs? On the UI there isn't a button to stop it completely 3) How do I take the necessary logs from the containers? thank you for your help
52 Replies
:wave: Hey @j0lsty,
Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:.
References
- Container Logs:
docker compose logs
docs
- Container Status: docker ps -a
docs
- Reverse Proxy: https://immich.app/docs/administration/reverse-proxy
- Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJAChecklist
I have...
1. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time).
2. :blue_square: read applicable release notes.
3. :blue_square: reviewed the FAQs for known issues.
4. :blue_square: reviewed Github for known issues.
5. :blue_square: tried accessing Immich via local ip (without a custom reverse proxy).
6. :blue_square: uploaded the relevant information (see below).
7. :blue_square: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable
(an item can be marked as "complete" by reacting with the appropriate number)
Information
In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider:
- Your docker-compose.yml and .env files.
- Logs from all the containers and their status (see above).
- All the troubleshooting steps you've tried so far.
- Any recent changes you've made to Immich or your system.
- Details about your system (both software/OS and hardware).
- Details about your storage (filesystems, type of disks, output of commands like
fdisk -l
and df -h
).
- The version of the Immich server, mobile app, and other relevant pieces.
- Any other information that you think might be relevant.
Please paste files and logs with proper code formatting, and especially avoid blurry screenshots.
Without the right information we can't work out what the problem is. Help us help you ;)
If this ticket can be closed you can use the /close
command, and re-open it later if needed.GitHub
immich-app immich · Discussions
Explore the GitHub Discussions forum for immich-app immich. Discuss code, ask questions & collaborate with the developer community.
FAQ | Immich
User
GitHub
Issues · immich-app/immich
High performance self-hosted photo and video management solution. - Issues · immich-app/immich
1) they'll timeout and kill themselves eventually
3) the discord bot provides some instruction
I'm not sure the logs are useful because they are stopping at 1 hour ago, transcoding is not producing any logs
There you have it, software / cpu decoding
is there a way to make it all work on the gpu ?
I wouldn't know. I don't use the transcoding feature myself
(it only makes a difference when playback is not local)
it seems like I won't either for now hehe
especially cause the job has been running for 1 hour already
just for one 4gb mp4 video
and it's hogging the cpu where I will have more services other than immich
Are any other jobs running at the same time?
nope just transcoding according to admin
this is my htop right now

all ffmpeg
I believe you can limit how much of the cpu it has access to. That might be a more viable approach if you want to have videos transcoded
the admin dashboard seems buggy as well because I restarted the docker container and it still says active
but nothing happening on cpu / gpu
do you know that if I want to not use transcoding i can safely delete "encoded-video" dir from my nas?
Ah so you might be running a few of the same job at this point. Are you sure that transcoding is the only job that has a queue? I know you said it is the only active job
yep i'm certain, job page only lists transcoding as active
Also the only one with queued jobs?
(not anymore as i restarted the docker)
it was the only active job, no queue
i only uploaded one video as a test
now it lets me click on "Missing", which starts and stops after a few seconds
probablty because the video is no longer uploaded
but it seems like immich thinks it is so it wants to transcode
anyway I will probably do as you do and not use the feature, but thank you very much for the help
I will need the transcoding power for jellyfin mostly
If you run
docker compose down
and then docker compose up -d
your resources should be idle
Then you can reprocess the transcoding queue if you like. Missing just transcodes files that do not have any transcoded media. So it'll go through your library and check (that's why it starts and stops)it goes into active state with 1 job for a few seconds
so that's the bug i guess

even if there is nothing to transcode
I use gpu for my smart search - as I've loaded a better clip model into immich
you mean the machine learning package?
It's not a bug, but it is misleading. It's processing the added jobs as fast as it's adding them
Yep
I read on the docs that it's slow on the gpu?
i think on an issue
or maybe i'm mistaken
so I should be using machine learning on gpu? on top of disabling transcoding
Everything is faster with a gpu (unless it's a much smaller GPU than cpu), but the cpu is more accurate
do you have the guide for this by chance?
i will give it a shot as well
For example, on my Intel processor, I have integrated graphics, and it processes smart search 7x faster
With GPU than CPU
that's nice 😄
But it'll really only make a difference if you're beefing up the
clip
model
(I suppose it would make a slight difference in onboarding as well)
I believe it's in the compose file commentsokay I'll give it a shot thank you again 🙂
Feel free to ask if you have questions
HW decoding makes a massive difference in speed and lowering CPU usage. You can also see progress if you set the log level to debug. It will only take effect for jobs that start running after that change though
Is it an optional line item to enable hardware decoding, or is it just enabled by default if available?
where would that setting be?
It’s right below the setting for the accel api
ah yes, found it
i'll try it as well
what target resolution do you guys transcode into ?
It was disabled by default when it was added out of caution that it could cause issues for existing setups. It’s probably best for it to be enabled by default at this point
hw decode basically flips cpu and gpu usage
so it's nicer, but i'm not sure how it will play together with jellyfin transcoding
i will most likely reduce the number of threads immich has available for transcoding
(if it's possible to do on the gpu)...

I do 1080p since the default res doesn’t look great on larger displays. If you go with higher res, you need to be careful not to make the bitrate explode. Use slower presets, maybe increase crf a tad, etc.
okay, i'll try it thank you 🙂
seems like it's crashing now with hw decode

after a while
and it stops the transcoding process
That's not crashing. It's a video playback error. You're probably trying to watch a video that it's transcoding
mmmmh
i tried to watch the video because i saw the transcoding process finish
but i guess it wasn't finished
nope, doesn't seem to like the transcoded video

mobile app closes instantly on video playback
and desktop app doesn't play