Video thumbnails occasionally not displayed in tooltip on initial hover

So I tried uninstalling the mega codec pack and restarting, then installed Icaros by itself but am still getting the occasional blank thumbnail. While I did this I also compared the sha-1 checksum of the dll's used in Icaros and Mega pack, they are identical.

Thanks for testing Hardkorn.

Sorry, missed you had Icaros as part of the codec pack. I never was a fan of codec packs, personally. FFDShow, and later LAVfilters, is really all that's needed. Not really helpful I know, sorry.

While once upon a time FFDShow gave me issues with lister video thumbnails not appearing, I don't remember any problem with thumbnails in video tooltips. The picture you have linked has the directory opus film sprocket overlay, which leads me to believe that the plugin is doing the lifting rather than Icaros, and you might be right about it being a DOpus bug. However, I can't reproduce it here.

Just to clarify my comment above, there are two ways DOpus calculates thumbnails:

  1. Taking them from the Windows shell

  2. A plugin

The video plugin usually uses the same codecs as the shell, assuming you have a shell handler or Windows supports it natively.

This is why I don't like codec packs. You never quite know what is installed, in terms of codecs and shell handlers and priorities and what is being used by what. The system is already too complicated without making it worse.

FFDShow does not provide source DS filters for containers, like AVI, MP4, MKV. Is/was not sufficient as single solution for playback in DirectShow players.

FFDShow does not provide source DS filters for containers, like AVI, MP4, MKV. Is/was not sufficient as single solution for playback in DirectShow players.

Uh, it does and always has? You install it and mkv and mp4 just play on everything, including Windows Media Player and Windows Films & TV.

Edit: Just used MPC-HC to open a random youtube mp4. Here's what it told me it was using:

Filters currently loaded:

  • Default DirectSound Device
  • Enhanced Video Renderer (custom presenter)
  • LAV Audio Decoder
  • LAV Video Decoder
  • LAV Splitter Source (internal)

If change Preferences / Viewer / Plugins / Video and Audio from this...

to this...

The thumbnails work perfectly, no blanks!

If I look at the output from Process Monitor I can see the thumbnails are getting generated by Icaros with the above settings. This should tell you something. I'm trying to locate something useful that would indicate why a thumbnail doesn't get generated from the output in Process Monitor but nothing stands out yet, it's a lot to process (work in progress).

Where do you see sprockets? Thanks for testing. :slightly_smiling_face:

Just a thought, for a given video file if there is no cache for either DOpus metadata or windows thumbnail. The reason the first hover doesn't generate a thumbnail is because DOpus is reading the file metadata and Icaros cannot access the file? Then the second file hover retrieves the cached information DOpus obtained from the first pass and allow Icaros to generate the thumbnail?

I'm glad it sorted out. It would seem that in this case, the Directory Opus video plugin either did not supply metadata, or much more likely the filter it was using didn't.

Where do you see sprockets? Thanks for testing. :slightly_smiling_face:

This thing here:

Icaros applies its own overlay, but it looks different.

Just a thought, for a given video file if there is no cache for either DOpus metadata or windows thumbnail. The reason the first hover doesn't generate a thumbnail is because DOpus is reading the file metadata and Icaros cannot access the file?

Directory Opus shouldn't lock a file while reading it, but there are some situations where it treats them like a stream, like in Windows "Library" folders. I thought this had been fixed though.

I don't think this is the solution by switching MediaInfo to Windows Shell but rather an indicator the problem has to do with DOpus or the movie.dll.

@xraale That image wasn't posted by me.

I don't think this is the solution by switching MediaInfo to Windows Shell but rather an indicator the problem has to do with DOpus or the media.dll.

You could test it. Selecting the video file giving you issues and pressing F9 should show all the metadata DOpus is getting for the file. Try it with the Windows Shell metadata checked and unchecked and see if it differs and what, if anything, is different.

Edit: if they are missing the dimensions, then it might make it hard to generate a thumbnail.

That image wasn't posted by me.

Oops sorry :grimacing:

I just realized that while testing for the blank thumbnails in a tooltip it is important to not have any video metadata columns displayed because this pre-loads the metadata. So when you hover over a video file the metadata is coming from the cache and therefore the thumbnail gets generated everytime. The key is reading the metadata and thumbnail at the same time and not from any cache.

I was talking about FFDShow, not about LAV.
A DirectShow player needs something like LAV Splitter Source (internal) to parse MP4 container.
FFDShow has features beyond decoding audio and video streams so hypothetically it also would have some source filters. Nonetheless they never were implemented in FFDShow.

Getting off topic now, but the FFDShow package came with Haali Media Splitter.

1 Like

I just realized that while testing for the blank thumbnails in a tooltip it is important to not have any video metadata columns displayed because this pre-loads the metadata. So when you hover over a video file the metadata is coming from the cache and therefore the thumbnail gets generated everytime.

Now it sounds like a filter issue. As Leo has initially said, it's might be a timeout: the filter might be only handling one thread at a time, so DOpus isn't serviced promptly, so rather than hang when you tooltip hover it just shows nothing.

I've no idea how these filters work internally, so I'm afraid I'm of no further help here.

The Icaros that is supplied with the mega codec pack should behave exactly the same as the stand alone version of Icaros. I have already tried uninstalling the codec pack and installing Icaros alone and I get the same results. Also doesn't explain why downgrading to DOpus 13.7 helps.

I was curious, if I could somehow add a short delay in the tooltip what would happen. I created a script column and added a delay :laughing:.

function OnInit(init)
{
	init.name = "Column Delay";
	init.desc = "";
	init.version = "1.0";
	init.default_enable = true;
	
	var col = init.AddColumn();
	col.name = "ColDelay";
	col.label = "ColDelay";
	col.method = "colMain";
	col.header = "Delay";
}

function colMain(data)
{
	if (!data.item.is_dir)
	{
		if (data.item.ext == ".mp4" || data.item.ext == ".mkv")
			DOpus.Delay(50);
	}
}

Then added that column to the tooltip at the bottom.

{scp:ColumnDelay/ColDelay}

This is the results.

This is further evidence that the metadata and thumbnail being read at around the same time is part of the problem.

Slightly modified steps compared to previous.

  1. Change Movies group tooltip to default (Samples button --> Movies).

  2. Remove any metadata columns OR switch to list mode.

  3. Download the video file archive and extract.
    thumbnail_video_problematic.rar (73.9 MB)
    Go to the folder select all files and copy, paste x2.
    This will give you 30 videos to test.

  4. Start hovering the videos to check the thumbnails.

  5. If no blank thumbs were shown, select all files and run
    SetAttr MODIFIED=now (to bypass the cache).

  6. Repeat steps 4 and 5 a few times (wait until the minute on the clock advances from the previous time running SetAttr MODIFIED=now).

I have tested these files on another PC and I get far less blank thumbnails. 80-90% blanks on this PC versus 10-20% on the other PC. Perhaps most people fall into the latter category. I suspect other have this issue they just haven't realized it yet as they might not deal with many video files.

I have a workaround by using DOpus-Scripting-Extensions (thanks PolarGoose and errante!) until it gets properly fixed in DOpus. I have faith it will eventually.

I created script columns (multicol and infotiponly set to true) for all the necessary values I use in my video tooltip, Replaced all the DOpus supplied metadata keywords with the ones retrieved from MediaInfoLib via DOpus-Scripting-Extensions to the columns. Now I don't get a single blank thumbnail ever. More evidence the problem resides within DOpus.

1 Like