Plex Randomly Changing Runtime for Twitter Videos During Play

Server Version#: 1.32.5.7349
Player Version#: Plex Web 4.113.2

I recently added some Twitter/X videos to Plex (that qualify as TV Shows). Initially, the metadata looked good except I think the runtimes were off initially, (until I ran an Analyze on each file…don’t take that for fact, as I didn’t document it at the time) but now they are correct.

When I play a video via Plex Web, it’ll randomly display a different runtime. Completely random, no rhyme or reason…I’ve seen 0:23, 5:36, 10:07, etc, etc. Sometimes if I play the video twice in a row, it’ll retain the same random runtime, but after a third play, it’ll change. The Library shows the right time, but not the player. The video will play fine, however with the total always being under the actual runtime, it makes it impossible to seek or retain where you left off. And to top it off, when playing from Plex HTPC, the videos will just load a black screen and not initiate.

Here is all the data from one of the files in question (dumped using MediaInfo):

General
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : iso5 (iso6/mp41)
File size                                : 109 MiB
Duration                                 : 22 min 10 s
Overall bit rate mode                    : Variable
Overall bit rate                         : 685 kb/s
Frame rate                               : 23.976 FPS

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                                 : 22 min 10 s
Bit rate                                 : 552 kb/s
Width                                    : 1 080 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 1.000
Frame rate mode                          : Variable
Frame rate                               : 23.976 (23976/1000) FPS
Minimum frame rate                       : 23.976 FPS
Maximum frame rate                       : 240 000.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.020
Stream size                              : 87.5 MiB (81%)
Title                                    : Twitter-vork muxer
Writing library                          : x264 core 164 r3095 baee400
Encoding settings                        : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=2 / psy=0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=1 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=28.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=8640 / vbv_bufsize=8640 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=2:1.00
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 22 min 10 s
Bit rate mode                            : Variable
Bit rate                                 : 130 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                              : 20.3 MiB (19%)
Title                                    : Twitter-vork muxer
Default                                  : Yes
Alternate group                          : 1

I could see this absolutely being a problem with the file, but both VLC and MPC-HC play the videos without issue and it’s consistent across ~20 different Twitter videos. This leads me to believe it’s a handling issue on Plex’s side. This is the first time I’ve added Twitter sourced files to Plex; but have added a large degree of various video types and have not had issues like this specifically.

EDIT: When using the Amazon Fire Stick or Android Plex app, neither aforementioned issue occurs.

The variable frame rate of the source file could be blamed here.
The video dimensions of 1080x1080 px seem to be off as well.
That is a kind of video which is rather unusual on the Plex platform and is not tested very much.
You can try to remux these files and see if this improves things.

I suspected as much, but didn’t yet bother remuxing. After popping it into an mkv, the runtime is consistent. I can play each version, and the mp4 original keeps randomly changing the runtime; but the mkv is consistent.

Not a fan of this as a solution, as it’s not scalable and puts it onto the end user; but at least narrows the problem.

Still a bit confused as to why the issue is not present on Android / Fire Stick, but is on Plex Web and Plex HTPC. Makes me feel like Plex should be able to handle whatever it’s throwing, and thus is a bug?

For reference, here is the info of the mkv.

General
Format                                   : Matroska
Format version                           : Version 4
File size                                : 108 MiB
Duration                                 : 22 min 10 s
Overall bit rate                         : 682 kb/s
Frame rate                               : 23.976 FPS
Encoded date                             : 2023-08-25 16:09:56 UTC
Writing application                      : mkvmerge v77.0 ('Elemental') 64-bit
Writing library                          : libebml v1.4.4 + libmatroska v1.7.1

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                                 : V_MPEG4/ISO/AVC
Duration                                 : 22 min 10 s
Bit rate                                 : 552 kb/s
Width                                    : 1 080 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 1.000
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.020
Stream size                              : 87.5 MiB (81%)
Writing library                          : x264 core 164 r3095 baee400
Encoding settings                        : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=2 / psy=0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=1 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=28.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=8640 / vbv_bufsize=8640 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=2:1.00
Default                                  : Yes
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : A_AAC-2
Duration                                 : 22 min 10 s
Bit rate                                 : 128 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                              : 20.3 MiB (19%)
Default                                  : Yes
Forced                                   : No

Is the video picture really 1080x1080 pixels large, i.e. perfectly square?
That is more than Full HD, so will likely lead to transcoding in many cases.

Yes, in this example it is correct. However, it’s not a consistent aspect ratio.

Here is the MediaInfo for another Video in the same group:

General
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : iso5 (iso6/mp41)
File size                                : 492 MiB
Duration                                 : 2 h 30 min
Overall bit rate mode                    : Variable
Overall bit rate                         : 455 kb/s
Frame rate                               : 29.970 FPS

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L3.1
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                                 : 2 h 30 min
Bit rate                                 : 321 kb/s
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Frame rate                               : 29.970 FPS
Minimum frame rate                       : 29.970 FPS
Maximum frame rate                       : 300 000.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.012
Stream size                              : 347 MiB (71%)
Title                                    : Twitter-vork muxer
Writing library                          : x264 core 164 r3095 baee400
Encoding settings                        : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=2 / psy=0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=1 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=28.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=2048 / vbv_bufsize=2048 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=2:1.00
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 2 h 30 min
Bit rate mode                            : Variable
Bit rate                                 : 130 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                              : 138 MiB (28%)
Title                                    : Twitter-vork muxer
Default                                  : Yes
Alternate group                          : 1

And the mkv remux of the same file:

General
Format                                   : Matroska
Format version                           : Version 4
File size                                : 487 MiB
Duration                                 : 2 h 30 min
Overall bit rate                         : 451 kb/s
Frame rate                               : 29.970 FPS
Encoded date                             : 2023-08-25 16:52:23 UTC
Writing application                      : mkvmerge v77.0 ('Elemental') 64-bit
Writing library                          : libebml v1.4.4 + libmatroska v1.7.1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L3.1
Format settings                          : CABAC / 5 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 5 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2 h 30 min
Bit rate                                 : 321 kb/s
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 (30000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.012
Stream size                              : 347 MiB (71%)
Writing library                          : x264 core 164 r3095 baee400
Encoding settings                        : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=2 / psy=0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=1 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / stitchable=1 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=30 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=28.0 / qcomp=0.60 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=2048 / vbv_bufsize=2048 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=2:1.00
Default                                  : Yes
Forced                                   : No

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : A_AAC-2
Duration                                 : 2 h 30 min
Bit rate                                 : 128 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                              : 138 MiB (28%)
Default                                  : Yes
Forced                                   : No

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.