Green screen on MPEG4

Server Version#: 1.18.7.2438
Player Version#:Any
I’ve ran into an issue where any MPEG4 has a horrible RGB color on the beginning of the video and then everything goes green. It happens on the web player, my fire sticks, anything. I’ve tried to change the transcode folder but no luck. It’s only on mpeg4’s. I can play them fine in VLC, but plex is now turning them into green videos.

Any help is appreciated as I don’t want to convert all my mpeg4s into H.264’s.

Is this new with version 1.18.7?

If so, a short term workaround would be downgrade to 1.18.6.

May I see the XML (from top of the XML , down through the </Media> marker only, of one which fails?

I just upgraded before posting to see if that would fix it. So it’s definitely the last two verisions.

Sure. Hopefully this is what you want:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="1" librarySectionTitle="Movies" librarySectionUUID="e59635fd-d518-4bfb-bfab-b90efe16cedc" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1582114654">

<Video ratingKey="171" key="/library/metadata/171" guid="com.plexapp.agents.imdb://tt4846340?lang=en" studio="Fox 2000 Pictures" type="movie" title="Hidden Figures" librarySectionTitle="Movies" librarySectionID="1" librarySectionKey="/library/sections/1" contentRating="PG" summary="The untold story of Katherine G. Johnson, Dorothy Vaughan and Mary Jackson – brilliant African-American women working at NASA and serving as the brains behind one of the greatest operations in history – the launch of astronaut John Glenn into orbit. The visionary trio crossed all gender and race lines to inspire generations to dream big." rating="9.3" audienceRating="9.3" viewOffset="3719000" lastViewedAt="1582390019" year="2016" tagline="Meet the women you don't know, behind the mission you do." thumb="/library/metadata/171/thumb/1581923634" art="/library/metadata/171/art/1581923634" duration="7596176" originallyAvailableAt="2016-12-10" addedAt="1494550786" updatedAt="1581923634" audienceRatingImage="rottentomatoes://image.rating.upright" chapterSource="agent" primaryExtraKey="/library/metadata/14432" ratingImage="rottentomatoes://image.rating.ripe">

<Media id="171" duration="7596176" bitrate="1524" width="720" height="480" aspectRatio="1.78" audioChannels="2" audioCodec="aac" videoCodec="mpeg4" videoResolution="480" container="mp4" videoFrameRate="NTSC" optimizedForStreaming="0" audioProfile="lc" has64bitOffsets="0" videoProfile="simple">

<Part accessible="1" exists="1" id="171" key="/library/parts/171/1494550786/file.mp4" duration="7596176" file="/mnt/Syn01/Movies/Kids/Hidden_Figures.mp4" size="1446610984" audioProfile="lc" container="mp4" deepAnalysisVersion="4" has64bitOffsets="0" optimizedForStreaming="0" requiredBandwidths="11745,6047,2201,2025,2025,2025,2025,2025" videoProfile="simple">

<Stream id="33686" streamType="1" default="1" codec="mpeg4" index="0" bitrate="1389" anamorphic="1" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" frameRate="30.000" height="480" pixelAspectRatio="32:27" profile="simple" refFrames="1" requiredBandwidths="11617,5918,2073,1924,1924,1924,1924,1924" streamIdentifier="1" width="720" displayTitle="480p (MPEG4)"/>

<Stream id="33687" streamType="2" selected="1" default="1" codec="aac" index="1" channels="2" bitrate="135" audioChannelLayout="stereo" profile="lc" requiredBandwidths="129,129,129,129,129,129,129,129" samplingRate="44100" streamIdentifier="2" displayTitle="Unknown (AAC Stereo)"/>

</Part>

</Media>

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="1" librarySectionTitle="Movies" librarySectionUUID="e59635fd-d518-4bfb-bfab-b90efe16cedc" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1582114654">

<Video ratingKey="423" key="/library/metadata/423" guid="com.plexapp.agents.imdb://tt0096734?lang=en" studio="Imagine Entertainment" type="movie" title="The 'Burbs" titleSort="'Burbs" librarySectionTitle="Movies" librarySectionID="1" librarySectionKey="/library/sections/1" contentRating="PG" summary="When secretive new neighbors move in next door, suburbanite Ray Peterson and his friends let their paranoia get the best of them as they start to suspect the newcomers of evildoings and commence an investigation. But it's hardly how Ray, who much prefers drinking beer, reading his newspaper and watching a ball game on the tube expected to spend his vacation." rating="5.0" audienceRating="7.1" year="1989" tagline="He's a man of peace in a savage land... Suburbia." thumb="/library/metadata/423/thumb/1581923796" art="/library/metadata/423/art/1581923796" duration="6072181" originallyAvailableAt="1989-02-17" addedAt="1499489263" updatedAt="1581923796" audienceRatingImage="rottentomatoes://image.rating.upright" chapterSource="agent" primaryExtraKey="/library/metadata/12165" ratingImage="rottentomatoes://image.rating.rotten">

<Media id="423" duration="6072181" bitrate="2207" width="720" height="480" aspectRatio="1.78" audioChannels="2" audioCodec="aac" videoCodec="mpeg4" videoResolution="480" container="mp4" videoFrameRate="NTSC" optimizedForStreaming="0" audioProfile="lc" has64bitOffsets="0" videoProfile="simple">

<Part accessible="1" exists="1" id="423" key="/library/parts/423/1499489263/file.mp4" duration="6072181" file="/mnt/Syn01/Movies/Kids/The_Burbs.mp4" size="1675443795" audioProfile="lc" container="mp4" deepAnalysisVersion="4" has64bitOffsets="0" optimizedForStreaming="0" requiredBandwidths="2201,2201,2201,2201,2201,2201,2201,2201" videoProfile="simple">

<Stream id="34730" streamType="1" default="1" codec="mpeg4" index="0" bitrate="2073" anamorphic="1" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" frameRate="30.000" height="480" pixelAspectRatio="32:27" profile="simple" refFrames="1" requiredBandwidths="2073,2073,2073,2073,2073,2073,2073,2073" streamIdentifier="1" width="720" displayTitle="480p (MPEG4)"/>

<Stream id="34731" streamType="2" selected="1" default="1" codec="aac" index="1" channels="2" bitrate="135" audioChannelLayout="stereo" profile="lc" requiredBandwidths="129,129,129,129,129,129,129,129" samplingRate="44100" streamIdentifier="2" displayTitle="Unknown (AAC Stereo)"/>

</Part>

</Media>

That’s great. thanks.

Now, Just to make certain you didn’t get a partial or damaged codec download (it does happen from time to time),

  1. Stop Plex
  2. Open a terminal window
  3. Navigate down into `/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Codecs.
  4. You will see subdirectories containing codecs. (ls -la)
    5, Delete anything with mp4 in the name.
  5. Start Plex
  6. On first playback, it will download fresh.
1 Like

Thanks for the help, but same result. It redownloaded the codec, but still the same result. Nothing but green on mp4’s.

Thanks for that.

Would you now do the following:

  1. Verify logging is set DEBUG= on, VERBOSE= off
  2. Playback the file for 30 second
  3. Stop playback
  4. wait 30 seconds
  5. Download the logs ZIP file
  6. Attach that ZIP file here.

I will trace the sequence of events.

Plex Media Server Logs_2020-02-22_16-51-29.zip (4.3 MB)

Let me know if you need anything else.

Thanks. I can see it’s using the HW transcoding codecs as I expected.

I would like you to:

sudo sh
cd /usr/lib/plexmediaserver/Resources/lib/dri
mv iHD_drv_video.so  iHD_drv_video-not-yet.so
systemctl restart plexmediaserver

We are going to nudge the video driver out of the way for the next test.
PMS will switch to the alternate driver and continue to play.

If there is a problem with the hardware transcoding driver, this will have no impact.

Renaming that file seemed to fix it! So something is wrong with the main driver then?

It means the corrections implemented so far don’t help for everyone.

I am surprised because you don’t have an ApolloLake CPU. You have a SkyLake.
I read somewhere of a problem with SkyLake but thought it was confined to HEVC SDR.

Can you cut off a small piece of the file, (usingdd) of about 10 MB and uploading here for me to use for testing?

1 Like

PlexMFiles.zip (19.4 MB) Here is a couple. Let me know if this is enough to test with.

Can you play them? I cannot. Not even VLC will pick it up.

No I can’t I don’t think they can be split. I could possibly convert them, but then they would be different. They are just mp4s converted with handbrake.

See if you can simple remux from mkvmerge . Once remuxed, they retain the MP4 encoding but the atoms are at the front and can be chopped.

OK. That worked here are two 10mb files for you.HF2.zip (20.7 MB)

Thanks for those files.

I found it. The files were encoded with old divx format. DIV/X isn’t going to work with with any hardware encoding because it’s not part of the actual H.264 spec.

These files unfortunately need to be re-encoded to proper H.264. Software encoding , manually setting the bitrate around 3000, and enabling two-pass processing in HandBrake will put them in proper output format without losing any quality.

FFMPEG was able to identify them.

  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
[mpeg4 @ 0x55f77fdfd1c0] time_increment_bits 0 is invalid in relation to the current bitstream, this is likely caused by a missing VOL header
[mpeg4 @ 0x55f77fdfd1c0] time_increment_bits set to 5 bits, based on bitstream analysis
[mpeg4 @ 0x55f77fdfd1c0] time_increment_bits 4 is invalid in relation to the current bitstream, this is likely caused by a missing VOL header
[mpeg4 @ 0x55f77fdfd1c0] time_increment_bits set to 5 bits, based on bitstream analysis
[mpeg4 @ 0x55f77fdfd1c0] looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag
Input #0, matroska,webm, from 'Hidden_Figures-002.mkv':
  Metadata:
    encoder         : libebml v1.3.10 + libmatroska v1.5.2
    creation_time   : 2020-02-23T03:49:29.000000Z
  Duration: 00:00:50.00, start: 0.011000, bitrate: 1702 kb/s
    Stream #0:0: Video: mpeg4 (DIVX / 0x58564944), yuv420p, 720x480, SAR 186:157 DAR 279:157, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:


Thanks for tracking this down. Not a huge problem, but a pain. So I’m guessing in the latest version DIVX codec support was dropped then? Is there a page that lists supported codecs, because I’m guessing this will happen again and just wondering if there is a page for it. So I know when I need to re-encode for the next time.

Again, thanks for tracking this down.

I agree it’s a pain. You would need look at FFMPEG directly as Plex draws direct from them.

DIV/X is old (let’s be candid here). It’s time to move on.

You have Linux so it’s not hard to create a shell script to find and re-encode directly with ffmpeg in that script and batch upgrade the whole bunch to H.264.