Episode screenshots for interlaced content

I've been ripping lots of old shows from DVD that are interlaced and I noticed the screenshots generated for episodes are not getting deinterlaced properly. Here's are some examples:
image
image

Most likely the imported file looks the same at that point in time where the screenshot was generated from.

Easy to check if you have a video editor, or a player that lets you move frame by frame.

See images posted in this thread Nick JR. De-interlacing issue for example

AFAIK Channels DVR doesn't offer an option in the UI to replace the thumbnail image. Would be nice.
If I want to change a preview thumbnail image, I replace the DVR_directory/Images/preview-FileID#.jpg one (where FileID# is the File ID for the Episode/Movie/Video file as seen in View Details).

The video is interlaced, so half the horizontal lines are from time1 and half are from time2. If you try to look at it as a single frame will mean you get half the resolution by only looking at time1(which would also look distorted), you display lines from both times and get a distorted image (like in my screenshot), or you have to de-interlace and get a better looking image with interpolated/enhanced intermediate lines.

Channels does the latter when playing interlaced video, and I would think this is the best approach for screenshots from interlaced video.

What you're describing would appear across the whole frame where you see odd and even fields displayed alternately.

Your screenshot from The Legend of Zelda does not look like what you're describing.
It looks more like the encoder that created the video was misconfigured and couldn't keep up with fast motion.
Like this one Nick JR. De-interlacing issue - #26 by chDVRuser

Here's an example of a 1080i recording showing the same Field interlaced and deinterlaced. Easier to see the difference when viewed full screen.

Interlaced

De-Interlaced

Also see Interlaced Video & Deinterlacing for Streaming | IBM Watson Media

Not quite accurate, you only really notice it in areas of movement. In areas of movement, the pixels in that area in each frame are different. But in still areas, it is the same or nearly the same. This is especially true for animated content. The faster the movement, the more exaggerated and noticeable the difference.

From the best I can tell, this is the same moment in time as seen in VLC media player. Notice when Deinterlacing is turned off, it looks identical to the image in Channels.

1 Like

If you look at View Details for that Import, does it say it's interlaced video?

Yes, it says interlaced. And it looks correctly deinterlaced when played in Channels. The issue is specifically that the episode images when browsing the episodes don't appear to be getting generated from a properly deinterlaced video frame.

I think you're correct.
Tried generating thumbnails about ten minutes into a 1080i video using ffmpeg.
Key-frame, I-frame and B-frame look interlaced. P-frame looks much better.
So it does appear that using ffmpeg for this doesn't deinterlace to the output jpeg file.
Unless there's an option I'm missing.

ffmpeg -ss 10:00 -i "NOVA (1974) - S42E02 - Sunken Ship Rescue.ts" -vf "select=eq(key\,1)" -frames:v 1 -q:v 2 outputK%02d.jpg
ffmpeg -ss 10:00 -i "NOVA (1974) - S42E02 - Sunken Ship Rescue.ts" -vf "select=eq(pict_type\,I)" -frames:v 1 -q:v 2 outputI%02d.jpg
ffmpeg -ss 10:00 -i "NOVA (1974) - S42E02 - Sunken Ship Rescue.ts" -vf "select=eq(pict_type\,P)" -frames:v 1 -q:v 2 outputP%02d.jpg
ffmpeg -ss 10:00 -i "NOVA (1974) - S42E02 - Sunken Ship Rescue.ts" -vf "select=eq(pict_type\,B)" -frames:v 1 -q:v 2 outputB%02d.jpg

I wonder if something like this would work (found elsewhere but haven’t tried yet)

ffmpeg -i $infile -vf "tinterlace=mode=merge,bwdif=0,select='if(eq(n\,0),1,floor(t)-floor(prev_selected_t))" -vsync

Ok I got it working with this:

ffmpeg -ss 5:00 -i InputFile.mkv -vf "tinterlace=mode=merge,bwdif=0,select='if(eq(n\,0),1,floor(t)-floor(prev_selected_t))" -filter:v "crop=keep_aspect=1" -frames:v 1 -vsync 1 output%02d.jpg

And here's how it looks:

does it still work if you remove this bit?

Looks like it does still work:

ffmpeg -ss 5:00 -i InputFideo.mkv -vf "bwdif=0,select='if(eq(n\,0),1,floor(t)-floor(prev_selected_t))" -filter:v "crop=keep_aspect=1" -frames:v 1 -vsync 1 output%02d.jpg

Thanks we'll work on a fix

That was fast!
To regenerate the thumbnail, use Refresh Metadata on the recorded episode?

Refresh Metadata did it (can batch queue them up)
BEFORE_____________________________________AFTER






:+1: :+1: :+1:

2 Likes

Yep, this did it. Thanks @tmm1 for the quick fix on this! This kind is one of the top reasons why we love channels.

1 Like