VideoHelp Forum
+ Reply to Thread
Results 1 to 3 of 3
Thread
  1. 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:

    Code:
    "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"
    I should get a nice mkv with an aac track, the original ac3 track, subtitles, and the video in HEVC at 25fps


    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?

    Many thanks

    Dave
    Quote Quote  
  2. 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

    Code:
    -vf setfield=prog
    Quote Quote  
  3. 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!
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!