Some MP4 files give "an error occurred loading this content" error message

Hi all,

My setup:
I have an Apple TV 4K (2021) running Infuse 7, and an Archer vr1600 router with SMBv3 USB sharing. I’ve got a 2TB HDD plugged into the router via USB, and the SMB share is configured with user/password security as per recommendation. The files on the HDD are all MP4 encoded, but some have an MP4 extension, while others have an M4V extension. My understanding is that this shouldn’t matter, but maybe it does?

The issue I have:
Most files play just fine, but some throw the error message “an error occurred loading this content” when attempting to begin playback. It’s a very specific subset of my movies that do this. I’ve performed some basic checks:

  • The “bad” files play perfectly fine on any PC or on Kodi (my previous solution on my old Android TV box)
  • The known good files in Infuse, when on the information screen (showing the play button and movie synopsis) has information about the movie resolution (e.g. 480p, 1080p etc) as well as the number of audio channels (2.0, 5.1 etc) and the audio format (AAC etc).
  • The “bad” files however don’t have this information about their resolution and audio format. So I assume Infuse was unable to read this out of the file, hence the error when trying to begin playback.

Has anyone else experienced this? Did you find a solution? I’m not against re-encoding the files into another format. I’m going to reattempt this anyway for 1 video as a test at some point.

I’ll also open a bug report, but will it also help if I do a crash report submission from within the client? Or does that only provide info when the whole client has a crash and burn?

Thanks heaps.

I’ve had this happen a few times and a re-encode seems to fix things for me.

Sometimes a small error in the encode will trash a part of the file enough to make it unreadable for Infuse which looks for a lot of info in the files.

Bummer… so assuming this is the problem I then need to re-encode every bad file. To do so, I’m going to have to test every video I’ve added from my initial install. From what I see, deleting metadata doesn’t also clear the “currently watching” history either. Is there any way to delete this so Infuse doesn’t try to remind me to finish watching each and every one?

It may be a solution.

Have you tried this yet?

If your talking about when you’re checking to see if the video will play then just hit the “Mark as Unwatched” button when you stop the video and it returns to the pre playback screen. I’ve done this on a series I had that I needed to check all episodes and it gets to be a little routine that takes little time. This should keep them out of your watching list.

I’m having the same issue. Thought it was something to do with my cloud storage but after reading this post a lot of my files which are giving me the error aren’t showing the quality and audio stamp next to the title. Re encoding isn’t an option for me it takes forever to upload my files to the cloud any other solutions??

As a test you may want to download one of the files from your cloud service to a local server and see if Infuse will play it via a local SMB share. If it plays there then maybe it’s a cloud issue. If it doesn’t play from a local share maybe try re-encoding that one file and re upload it to the cloud and see if it then plays.

Back onto the main topic of this thread…

Yes so I can confirm that re-encoding 4 of the affected files has meant they now play in Infuse. However I did a 5th encode, which was an edited version of one of those 4 videos, and it was unplayable. I don’t understand why Infuse is so sensitive to whatever it is causing this, as every other PC or Android device I have can play these files perfectly fine. It’s not like I’m doing something that Infuse wasn’t designed to do.

To me, this looks like a bug. Thoughts?

Since you’ve been able to determine that the encode matters you may want to take a known bad file and it’s re-encoded good version and run both through mediainfo and post the detailed reports for both.

Ahh good idea. Thanks will give that a try.

I’ve diffed both of the following, and the differences are minor at best, however I do note that under audio info the tags for “Title : Stereo” and “Language : English” are missing from the “bad” file. The edited file was cut and rendered using the latest version of Kdenlive on Windows. Like I say however, I’ve produced other renders this way that play just fine in Infuse. I’m thinking of spinning up a Plex server and seeing if I get the same problems, but I wanted to use Infuse because it meant not having to run yet another device just to achieve all of this.

Here’s a known “good” file:
General
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (isom/iso2/avc1/mp41)
File size : 1.89 GiB
Duration : 1 h 50 min
Overall bit rate : 2 450 kb/s
Encoded date : UTC 2021-07-01 14:12:40
Tagged date : UTC 2021-07-01 14:12:40
Writing application : HandBrake 1.3.2 2020050300

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 5 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 h 50 min
Bit rate : 2 284 kb/s
Width : 716 pixels
Height : 436 pixels
Display aspect ratio : 2.35:1
Original display aspect ratio : 2.35:1
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.293
Stream size : 1.77 GiB (93%)
Writing library : x264 core 157 r2935 545de2f
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=5 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=18.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=25000 / vbv_bufsize=31250 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2021-07-01 14:12:40
Tagged date : UTC 2021-07-01 14:12:40
Color range : Limited
Color primaries : BT.601 PAL
Transfer characteristics : BT.470 System B/G
Matrix coefficients : BT.470 System B/G
Menus : 3
Codec configuration box : avcC

Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 1 h 50 min
Bit rate mode : Constant
Bit rate : 160 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 127 MiB (7%)
Title : Stereo
Language : English
Default : Yes
Alternate group : 1
Encoded date : UTC 2021-07-01 14:12:40
Tagged date : UTC 2021-07-01 14:12:40
Menus : 3

Menu
ID : 3
Codec ID : text
Duration : 1 h 50 min
Language : English
Encoded date : UTC 2021-07-01 14:12:40
Tagged date : UTC 2021-07-01 14:12:40
Menu For : 1,2
00:00:00.000 : Chapter 1
00:03:09.520 : Chapter 2
00:05:31.560 : Chapter 3
00:09:27.960 : Chapter 4
00:12:18.880 : Chapter 5
00:14:46.840 : Chapter 6
00:19:38.040 : Chapter 7
00:22:02.440 : Chapter 8
00:27:41.480 : Chapter 9
00:32:20.600 : Chapter 10
00:34:55.000 : Chapter 11
00:38:27.360 : Chapter 12
00:40:33.320 : Chapter 13
00:44:47.800 : Chapter 14
00:47:32.200 : Chapter 15
00:48:56.600 : Chapter 16
00:52:56.560 : Chapter 17
00:56:10.360 : Chapter 18
01:00:31.720 : Chapter 19
01:05:39.000 : Chapter 20
01:07:33.320 : Chapter 21
01:12:28.520 : Chapter 22
01:19:02.880 : Chapter 23
01:22:14.120 : Chapter 24
01:26:17.480 : Chapter 25
01:30:39.440 : Chapter 26
01:34:06.120 : Chapter 27
01:36:58.640 : Chapter 28
01:39:52.040 : Chapter 29
01:42:39.440 : Chapter 30
01:44:38.920 : Chapter 31

And here’s a known “bad” file:
General
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 2.88 GiB
Duration : 1 h 43 min
Overall bit rate : 3 973 kb/s
Writing application : Lavf58.29.100

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 h 43 min
Bit rate : 3 712 kb/s
Width : 716 pixels
Height : 436 pixels
Display aspect ratio : 2.35:1
Original display aspect ratio : 2.35:1
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.476
Stream size : 2.69 GiB (93%)
Writing library : x264 core 155
Encoding settings : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=4 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=2 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=15 / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc_lookahead=15 / rc=crf / mbtree=1 / crf=15.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Color range : Limited
Color primaries : BT.601 NTSC
Transfer characteristics : BT.601
Matrix coefficients : BT.601
Codec configuration box : avcC

Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 1 h 43 min
Bit rate mode : Constant
Bit rate : 256 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 190 MiB (6%)
Default : Yes
Alternate group : 1

The file size is a gig larger on the bad one.

This is suppose to be the same file before and after re encoding?

Yeah I have my render quality set a tad too high in Kdenlive. However the file is still less than 4GB which plays nice with FAT32.

But it makes it about impossible to see what is different that may be the cause when you change the encoding. Even the time is different.

The time/length is only different because segments of the original were cut out.

At the end of the day I think we’re missing probably the simplest question of all however. These so-called “bad” files play just fine in every other video player and platform that I have. So I’m not convinced there’s anything wrong with the files themselves. I think the only way for this to be resolved would be for the logs to be uploaded from the Infuse client. I’ll do this today via the submit diags option in the settings.

You can also submit the files for infuse team to look at. Just make sure to let @james know

Thanks heaps, I’ll try to replicate the error on a file that’s not copyrighted material, and send it through. Will keep you posted.

You say the files that wouldn’t play in Infuse will in others, the files I had that did the same would play in VLC but not to completion. They would just quit at some point before the end of the file. I had one that would play for about 80% of the movie then just quit in VLC. Have you played these completely on the other players?

Also I would hold off on sending any files in until James requests them. That way they get tied to the correct issue.

There are numerous differences between the two including using different applications for encoding as well as different format settings all of which could be a combination that causes problems.

Have you played these completely on the other players?

Yeah they play fine all the way to the end in the other players.

There are numerous differences between the two including using different applications for encoding as well as different format settings all of which could be a combination that causes problems.

Correct however even when encoding from the original source media using Handbrake, the original file had previously been unplayable by Infuse, while being able to play all the way to the end in any other player or platform.

A thought… does Infuse prefer any particular format over another? For instance, is MKV preferred over MP4?