VideoHelp Forum




+ Reply to Thread
Results 1 to 9 of 9
  1. I have a three-disc wrestling DVD, which I want to put on my media server. Pretty simple. Rip each disc, mux them together, shift it into the correct folder. Done.

    Except, playback looks super weird after a while. Turns out, disc 3 is BFF and the other two are TFF. Because...reasons, I guess?

    So...what's the best solution here? Re-encoding D3 to flip the fields (not sure how) and muxing? Re-encoding the lot somehow?
    Quote Quote  
  2. Some containers allow for changing video properties mid-stream. Transport streams, for example. Not all players will respond correctly so it's best to convert the field order. That can be in AviSynth done with:

    Code:
    SeparateFields()
    Trim(1,0)
    Weave()
    or

    Code:
    Crop(0,0,-0,-1) # take one line off the bottom
    AddBorders(0,1,0,0) # add one line at the top
    Quote Quote  
  3. I did try the crop-and-add-borders thing with FFMPEG, but I ended up with a file that was 17GB and still incorrectly interlaced:
    Code:
    ffmpeg -i disc3.mkv -vcodec mpeg2video -qscale:v 2 -acodec copy -vf "crop=720:479:0:1,pad=720:480:0:1" -aspect 16:9 -force_key_frames "chapters" disc3fixed.mkv
    Quote Quote  
  4. You can't crop by 1 pixel vertically for subsampled 4:2:0 material, such as DVD-video .
    Quote Quote  
  5. Code:
    ffmpeg -i disc3.avs -i disc3.mkv -vcodec mpeg2video -qscale:v 4 -acodec
    copy -flags +ilme+ildct -top 0 -aspect 16:9 -force_key_frames 1:"chapters" -map
    v:0 a:1 disc3fixed.mkv
    Code:
    LwLibAvVideoSource("disc3.mkv")
    AssumeTFF()
    SeparateFields()
    Trim(1,0)
    Weave()
    Code:
    disc3.avs: Unknown error occurred
    Quote Quote  
  6. I'm going guess you have a 32bit vs. 64bit problem: 32 bit AviSynth + 64 bit ffmpeg, or vice versa. Both must be the same bitness.
    Quote Quote  
  7. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    I would not re-encode.
    MPEG-2 video, even as a plain elementry stream, has an inherent field order flag for every GOP (meaning it is repeated constantly and can change between GOPs). It just needs to be respected during playback.
    Therefore, I think the most effective method would be to force the player to refer to the field order flag of the underlaying MPEG-2 video stream – rather than a field order flag of the mkv container.

    Maybe it is as simple as removing the mkv field order flag from the file.
    If that doesn't do the trick then there is the option of setting the mkv field order flag to "2" which means "undetermined field order".
    Try that first before you re-encode.
    Quote Quote  
  8. The MKV already doesn't contain a field order flag, as far as I can tell. The Emby LG TV and Samsung TV apps both handle it just fine, but on my NVIDIA Shield it looks awful.


    Originally Posted by jagabo View Post
    I'm going guess you have a 32bit vs. 64bit problem: 32 bit AviSynth + 64 bit ffmpeg, or vice versa. Both must be the same bitness.
    Yep, that's what it was. But forcing keyframes on the chapters isn't working:
    Code:
    ffmpeg\ffmpeg.exe -i disc3.avs -i disc3.mkv -vcodec mpeg2video -qscale:v
     4 -acodec copy -flags +ilme+ildct -top 0 -aspect 16:9 -force_key_frames 1:"chap
    ters" -map 0:v -map 1:a disc3fixed.mkv
    Code:
    Invalid duration specification for force_key_frames: 1:chapters
    Quote Quote  
  9. So how do I use the chapters from the MKV file as the keyframe points for encoding?
    Quote Quote  



Similar Threads

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