I'm recording lots of TV using DVB S2.
I then use VideoReDo to trim the .ts and put it into mkv
These look like this in ffmpeg before and after processing from .ts to .mkv
h264 High yuv420p(tv, bt709, top first) 1920x1080 [SAR 1:1 DAR 16:9] 25fps
So pretty standard stuff.
The footage is interlace encoded. But each frame is obviously a progressive frame.
So if I do this:
I should get a nice mkv with an aac track, the original ac3 track, subtitles, and the video in HEVC at 25fpsCode:"D:\apps\ffmpeg\ffmpeg" ^ -i "%~dpnx1" ^ -map 0 ^ -c:v libx265 ^ -crf 20 ^ -preset slow ^ -c:a copy ^ -map 0:a:0 -c:a:1 aac -ac 2 -vol 256 -b:a 192k ^ -c:s copy ^ -threads 4 ^ "%~dpn1_transcoded.mkv"
Because I've not specified any interlacing or de-interlacing, what should happen?
Currently the ffmpeg command above gives me:
hevc (Main), yuv420p(tv, bt709, top coded first (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps
VideoReDo seems to see this file as progressive.
MediaInfo gives me:
Scan type : Interlaced
Scan type, store method : Interleaved fields
Scan order : Top Field First
FFplay (no deinterlacing) looks the same with the source and encoded version.
VLC appears to play it automatically without interlacing on (frame skip is a whole jump at a frame, not doubling it up)
So I think it's now progressive, but for some reason ffmpeg is saying it's still interlaced.
Is this an error with my command? Is this a limitation of what I'm doing?
Is this something I can change in one place, or is it generated via several forms of data (metadata in mkv and metadata in the stream?)
I note that if I run yadif or bwdif etc, then this is set progressive without issue. However VMAF goes from 97 ish to 90 ish by using no deinterlacing vs using yadif...
Now if there was a weave deinterlacer that'd be fine, but I assumed weave was basically doing nothing so the pair of fields are rendered from the frame as is, which I what I'm doing here?
Can anyone clarify what I should be doing to do this right?
+ Reply to Thread
Results 1 to 3 of 3
Nothing should happen in terms of the actual content; ie. the actual content will be weaved and progressive
But the metadata might cause other programs to mishandle it. To prevent this, add
Hey, thanks for that. All now looking as per a file encoded using 'yadif' with regards metadata in mkvtoolnix, media info and ffmpeg itself.
Yes the concern has been a library full of media being mishandled. One specific example is Jellyfin doing transcoding using this data. Ie, running yadif or other field manipulations when it's a progressive stream.
I had looked for flags setting like this, but was looking in the metadata sections, not the video filter sections. Thanks for pointing me in the right direction!