I
Immich2mo ago
metzi00

No audio support for HEIC format?

Hi, I have imported HEIC files from iOS into Immich. With web app, selecting on of them display a static image at first (OK). When clicking on the "Play Motion Photo" button, video stream is played - but there is no audio with it. - Immich 1.139.3 - Vanilla transcoding settings - Browsers: Firefox ESR / Chromium - OS: Debian 12/13 - libavcodec61 and heif-gdk-pixbuf installed, also ffmpeg - Other played video files like .mov or mp4 in Immich web app have no audio issues on said system - In contrast mobile (iOS, Android app and web version) works. - macOS desktop audio does work in Safari, but not work in Firefox This is a HEIC multimedia codec issue especially for desktop systems, it seems? My question is: What multimedia codecs am I missing or what do I need to do in order to also have audio played with HEIC files (Debian/Firefox)? Thanks very much for any clues.
12 Replies
Immich
Immich2mo ago
:wave: Hey @metzi00, 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_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :blue_square: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: 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.
metzi00
metzi00OP2mo ago
More details: - podman compose logs -f doesn't show anything (related), while playing video file. - container status is fine per podman ps -a. - External library is used - Immich upload from iOS currently is not utilized yet - W/o reverse proxy usage does not change anything. - docker-compose.yml: https://github.com/immich-app/immich/releases/download/v1.139.3/docker-compose.yml
Mraedis
Mraedis2mo ago
There is no such thing as "HEIC" audio, it is a container format and has both an audio and a video codec. If your audio codec is set to not transcode and your browser/computer does not support it, you won't hear anything. 🙂 So start off with your transcode settings, specifically audio @metzi00 https://my.immich.app/admin/system-settings?isOpen=video-transcoding+transcoding-policy
metzi00
metzi00OP2mo ago
Makes sense 🙂 sorry, being not too deep into mac ecosystem incl. HEIC. Attached are transcoding settings. Not sure about audio codec "PCM (16 bit").
No description
No description
metzi00
metzi00OP2mo ago
Not re-transcoding PCM might be the culprit here for a Debian system. ffprobe shows pcm_s16le as audio stream format for the .heic's corresponding .mov file. And PCM (as well as HEVC) apparentely does not have built-in support with Debian. The motion video is still shown in the web app, as Immich transcodes HEVC per default. So I guess the solution is either to - try GStreamer plugins for PCM audio support (client side) - re-transcode PCM, unchecking that option (server side) By chance: Is there an Immich UI option or job to re-trigger transcoding of a single file, to test things out? "Refresh metadata" in "..." of selected image did not work for me.
Mraedis
Mraedis2mo ago
Videos, except for the live photos ones, have a "Refresh encoded video" option at th bottom @metzi00 pcm is a pretty widely accepted standard though, so I would try to see if there's a codec for that first 🤔 https://packages.debian.org/trixie/librust-symphonia-codec-pcm-dev
mertalev
mertalev2mo ago
apparently firefox only supports pcm in webrtc, not in a video container like mp4 or mov damn it firefox
metzi00
metzi00OP2mo ago
Thanks for the info about "Refresh encoded video"! Puhh, I've 80gb of encoded_video atm. Is there an Immich CLI tool, that can be limited by file extension .mov or similar? Otherwise I probably need to bite the bullet. With "pcm is a pretty widely accepted standard" I don't disagree, but it seems it is not widely supported as raw audio stream by Debian/Firefox (also what serveral AI tools tell). On test machine Fedora didn't play audio either. There might be a limitation of Firefox on top, which doesn't make use of all OS codecs - e.g. on macOS same issue appears for this browser, whereas Safari is happy to play everything. But Chromium also had its issues, this doesn't make understanding easier 😁 A quick test with
ffmpeg -i pcm_file.mov -c:v copy -c:a aac -b:a 320k aac_file.mov
ffmpeg -i pcm_file.mov -c:v copy -c:a aac -b:a 320k aac_file.mov
showed, it's PCM audio limitation for sure. aac_file.mov can be be played in Firefox with Immich web app
(direct opening of .mov still doesn't work, as OS doesn't support video codec hevc) With HEIC being a popular Apple format and Linux being supported and on rise, does it make sense to disable "PCM (16 bit)" option as default, so it gets re-coded?
mertalev
mertalev2mo ago
there’s no cli tool for that. it is possible to make the db “forget” about those mov transcodes with a sql command though if you’re willing to fiddle with that.
metzi00
metzi00OP2mo ago
Hm ... hard decision 😛 I don't feel comfortable enough to interfere with Immich's fast pace development. I guess, just re-transcoding everything then
mertalev
mertalev2mo ago
up to you! the assumption with allowing pcm by default was that it was supported across browsers. maybe it’s better to uncheck it by default
metzi00
metzi00OP2mo ago
Jep, I also think this would be a good idea

Did you find this page helpful?