When attempting to play a video that is 4:30:44 long, Plex is throwing a ton of XML errors and the transcode/stream won’t start. I tested with shorter shows (22 minutes), and it started right away without issue.
I rebooted the server several times, attempted to “Optimize” the database.
Downgraded to 1.15.8.1163 and the issue is not present.
Upgraded to 1.16.6.1592 and the issue is not present.
Upgraded to 1.17.0.1709 and the issue is present.
Downgraded to 1.16.6.1592 and the issue is not present.
From the logs, it looks like the codec is set to some weird non-unicode character and that is causing the issues.
General
ID : 1 (0x1)
Complete name : Episode Name.mp4
Format : MPEG-TS
File size : 12.0 GiB
Duration : 4 h 30 min
Overall bit rate mode : Variable
Overall bit rate : 6 338 kb/s
FileExtension_Invalid : ts m2t m2s m4t m4s tmf ts tp trp ty
Video
ID : 257 (0x101)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : 27
Duration : 4 h 30 min
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Audio
ID : 256 (0x100)
Menu ID : 1 (0x1)
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Muxing mode : ADTS
Codec ID : 15
Duration : 4 h 30 min
Bit rate mode : Variable
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Delay relative to video : -60 ms
Text #1
ID : 257 (0x101)-CC1
Menu ID : 1 (0x1)
Format : EIA-608
Muxing mode : SCTE 128 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 4 h 30 min
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)
CaptionServiceName : CC1
Text #2
ID : 257 (0x101)-CC3
Menu ID : 1 (0x1)
Format : EIA-608
Muxing mode : SCTE 128 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 4 h 30 min
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)
CaptionServiceName : CC3
Text #3
ID : 257 (0x101)-1
Menu ID : 1 (0x1)
Format : EIA-708
Muxing mode : SCTE 128 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 4 h 30 min
Bit rate mode : Constant
Stream size : 0.00 Byte (0%)
Menu
ID : 4096 (0x1000)
Menu ID : 1 (0x1)
Duration : 4 h 30 min
List : 256 (0x100) (AAC) / 257 (0x101) (AVC) / 258 (0x102) ()
There is something going on in there. It locks my vlc player (Linux).
This is MPEG-2 in a MP4 file deliberately?
In the sample, I immediately found two issues which shouldn’t exist:
[00007f91bcc01f60] faad decoder warning: decoded zero sample
[00007f919c0919a0] main video output error: video output creation failed
[00007f91bcc23350] main decoder error: failed to create video output
[00007f919c106db0] main video output error: video output creation failed
[00007f91bcc23350] main decoder error: failed to create video output
[00007f91bcc23350] main decoder error: buffer deadlock prevented
[000055acb5978790] pulse audio output warning: starting late (-6309 us)
The zero-sample points to metadata . Even VLC didn’t like it
It also reported the audio started late.
I will suggest this be run through handbrake to clean up the timing, then retry that new output while preserving the original input file in some place safe
@ChuckPa - Thanks for taking a look. Sorry to take up your time on the weekend.
I tested the file out (CarvedFile.mp4) on VLC in Windows and it didn’t return any errors. It started normally and played through to the end. I then spun up an Ubuntu 18.04.1 Desktop VM, installed VLC and didn’t have issues playing the file.
Full history, these files are pulled from Twitch.tv, which is why they’re reporting as MPEGTS (HLS). Previously the show was hosted on a different platform (and the files were huge 20+GB), so I was using Handbrake to transcode the HLS stream to mp4. I just checked, and those older files play in 1.17, and they report in Plex that they are MP4. Transcoding the files from Twitch with Handbrake resulted in files larger than the original, so I just left them as is and they played, so I didn’t think much of it.
It confuses me though as to why Plex 1.16 has no issues playing the files, but 1.17 chokes and dies. Does 1.17 not support MPEGTS files while 1.16 does?
From a quick search of the old gargler, apparently that timed_id3 data is part of the HLS specification.
Any info on how I could try and remove that single stream to see if it resolves the issue? Retranscoding 100+ hours of media to mp4 with Handbrake to strip it isn’t something I’d look forward to.
I use mkvtoolnix-gui.
I drag the film onto the gui.
I uncheck the tracks I don’t want
and I process it.
As it’s only remuxing, it doesn’t transcode and only takes a minute or two.
What I noticed isn’t meant to move you away from following Chuck’s advice.
I just thought that stream was novel.
I have 3 tools in my video arsenal I use frequently.
Handbrake, mkvtoolnix-gui, and Avidemux.
good luck!
I think you’re on to something! Maybe Plex previously ignored other streams, but now it’s trying to parse a stream that it isn’t familiar with and it’s causing the errors.
After remuxing the CarvedFile.mp4 to CarvedFile.mkv, it plays on version 1.17. Looks like you were correct that it’s the timed_id3 data that is causing issues. Hopefully this gives Chuck some ideas, and maybe there is a backend fix for this?
I’m pulling down a full episode (12GB) to my Windows box and I’ll see what the average time to remux it is. Remuxing all the “broken” files is going to be time consuming through.
Looks like I can just use ffmpeg to remux the files as well, so I could script it to an extent.
Very cool. So I loaded CarvedFile.mp4 into avidemux-2.7.4 because I trust the developer, who goes by the name mean, is a brilliant coder who single handedly brought that software along for what a decade at the cutting edge of all codecs and platforms.
Anyway avidemux should remux the file into a new container if I want, and copy the video and audio. If it finds something bad in there, it will detail it exhaustively. I told avidemux to put it into an mkv, and I was given:
CarvedFile.mkv
CarvedFile.mp4.idx2
Just thought I’d mention that. No errors, just makes a 2-track mkv and a sidecar. Never seen that.