Jellyfin Forum
Playback error: h264 file with AC3 audio will not playback on swiftfin - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Playback error: h264 file with AC3 audio will not playback on swiftfin (/t-playback-error-h264-file-with-ac3-audio-will-not-playback-on-swiftfin)

Pages: 1 2 3


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - TheDreadPirate - 2024-10-09

(2024-10-09, 03:07 PM)linuxnoob0009 Wrote:
(2024-10-09, 02:06 PM)TheDreadPirate Wrote: Try remuxing one of the files and test the new file.  This will copy the existing video/audio into a new container.  Since there is no encoding it should take a few seconds to complete.

Code:
/usr/lib/jellyfin-ffmpeg/ffmpeg -fflags +genpts+igndts -i "/MEDIADRIVE/SERIES/Millennium/Season 1/Millennium - 01x01 - Pilot.mp4" -map 0 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled newFile.mp4

Then try playing the new file.
Hello again! 

I did this and the file actually plays!

....However - the timecode just stays at 0:00 the whole time. I can't search / forward or rewind when playing. And I cannot switch between the audio tracks. Luckily it played with the standard track and not the commentary. This is very mysterious.... does this make any sense at all?

I also made a .mkv-version, leaving the video and converting the audio to aac, using ffmpeg and this one works normally (except that it only has one audio track - i guess i messed up the CLI command)

Something is off spec or broken with that file.  These flags, -fflags +genpts+igndts, are supposed to help deal with some weird container issues.

Try running the same command without those flags and see what happens with the resulting file.


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - linuxnoob0009 - 2024-10-09

(2024-10-09, 03:30 PM)TheDreadPirate Wrote:
(2024-10-09, 03:07 PM)linuxnoob0009 Wrote:
(2024-10-09, 02:06 PM)TheDreadPirate Wrote: Try remuxing one of the files and test the new file.  This will copy the existing video/audio into a new container.  Since there is no encoding it should take a few seconds to complete.

Code:
/usr/lib/jellyfin-ffmpeg/ffmpeg -fflags +genpts+igndts -i "/MEDIADRIVE/SERIES/Millennium/Season 1/Millennium - 01x01 - Pilot.mp4" -map 0 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled newFile.mp4

Then try playing the new file.
Hello again! 

I did this and the file actually plays!

....However - the timecode just stays at 0:00 the whole time. I can't search / forward or rewind when playing. And I cannot switch between the audio tracks. Luckily it played with the standard track and not the commentary. This is very mysterious.... does this make any sense at all?

I also made a .mkv-version, leaving the video and converting the audio to aac, using ffmpeg and this one works normally (except that it only has one audio track - i guess i messed up the CLI command)

Something is off spec or broken with that file.  These flags, -fflags +genpts+igndts, are supposed to help deal with some weird container issues.

Try running the same command without those flags and see what happens with the resulting file.
Hello - I did this and get exactly the same result as with the flags. The movie plays but timecode is stuck at 0 and i cannot scrub


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - TheDreadPirate - 2024-10-09

There is definitely something broken with the file. More than just the container.

I don't know what command you used to try to permanently transcode to AAC (the one that only grabbed the commentary track), but here is how I would do it.

Code:
/usr/lib/jellyfin-ffmpeg/ffmpeg -fflags +genpts+igndts -i "/MEDIADRIVE/SERIES/Millennium/Season 1/Millennium - 01x01 - Pilot.mp4" -map 0 -c:v copy -c:s copy -c:a libfdk_aac -vbr:a 5 -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts auto newFile.mp4

That should transcode all audio tracks to AAC, the ones that aren't corrupt enough to fail, and copy the video and subtitles.


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - linuxnoob0009 - 2024-10-09

Thanks a lot for the help. I asked AI and got this:

for file in *.mp4; do
audio_count=$(ffmpeg -i "$file" 2>&1 | grep 'Stream #' | grep 'Audio' | wc -l)
if [ "$audio_count" -eq 1 ]; then
sudo ffmpeg -i "$file" -map 0:v -map 0:a:0 -vcodec copy -acodec aac -b:a 192k -ar 48000 -sample_fmt fltp "${file%.mp4}.mkv"
else
sudo ffmpeg -i "$file" -map 0:v -map 0:a:0 -map 0:a:1 -vcodec copy -acodec aac -b:a 192k -ar 48000 -sample_fmt fltp "${file%.mp4}.mkv"
fi
done

it brings over both tracks and encodes with the same samplingrate


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - linuxnoob0009 - 2024-10-09

Just tried another file from another show. exact same problem. Strangely it seems that jellyfin wants to convert the eac3 audio to aac. why? can i fix this in the settings?

Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn (default)
Metadata:
BPS-eng : 5608741
DURATION-eng : 00:30:02.092000000
NUMBER_OF_FRAMES-eng: 43207
NUMBER_OF_BYTES-eng: 1263433624
_STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 256 kb/s (default)
Metadata:
BPS-eng : 256000
DURATION-eng : 00:30:02.208000000
NUMBER_OF_FRAMES-eng: 56319
NUMBER_OF_BYTES-eng: 57670656
_STATISTICS_WRITING_APP-eng: mkvmerge v55.0.0 ('Waiting For Space') 64-bit
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
Output #0, mpegts, to '/cache/transcodes/8662d50651764fbae0cb0f35a8358844.ts':
Metadata:
encoder : Lavf60.3.100
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 90k tbn (default)
Stream #0:1: Audio: aac, 48000 Hz, 5.1, s16, 256 kb/s (default)
Metadata:
encoder : Lavc60.3.100 libfdk_aac


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - TheDreadPirate - 2024-10-10

I'm not sure about the Swiftfin or the other Apple clients, but on the Android TV client there is a setting to passthrough Dolby audio. Does Swiftfin have something similar?


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - JamesOberegg - 2024-10-10

Hi @TheDreadPirate. Since I just moved and currently don't own an AppleTV (or TV Smiling-face) I unfortunately can't test this.

Hi @linuxnoob0009. What change do you mean? Disabling video transcoding? This can be set in the user settings.


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - linuxnoob0009 - 2024-10-10

I downloaded the swiftfin app for iphone and the videos play there.
So there is something going on specifically with the apple tv.

I have no idea what is going in. Apple TV supposedly supports dolby sound


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - linuxnoob0009 - 2024-10-10

I
(2024-10-10, 05:26 AM)JamesOberegg Wrote: Hi @TheDreadPirate. Since I just moved and currently don't own an AppleTV (or TV Smiling-face) I unfortunately can't test this.

Hi @linuxnoob0009. What change do you mean? Disabling video transcoding? This can be set in the user settings.

I found the settings.
Now the TV can play back the file. However I'm back to the problem where regardless of what audio track i play i get the commentary.... I might just throw in the towel soon


RE: Playback error: h264 file with AC3 audio will not playback on swiftfin - TheDreadPirate - 2024-10-10

Do you have remuxing enabled?