Is there a way to replace an mp4 video in a project file with a vob?

I have been struggling with a strange deinterlacing issue, basically I was taking a vob from a DVD, bringing it into shotcut as an mp4, editing it, exporting it, and burning to back to DVD. I was noticing when I’d play the DVD of the new edited version, it had all these horrible horizontal lines from deinterlacing not correctly happening… Doing some exploration, I found that in VLC, the vob file looked fine with the deinterlace option “automatic”, but the converted mp4 would have the horizontal lines unless I changed VLC’s deinterlace option to “on”. It seems that some metadata is being lost and when “automatic” is on, it thinks it does not need to deinterlace… The same thing apparently is happening with my sony bluray player (except I have no option to force deinterlacing on that device)…

Anyway, so after a bunch of work editing these mp4 files, I realize that shotcut actually will let me directly add vob files to the time line… So I am trying to figure out if there is a way I can just change the pointer to the video file being used, and tell shotcut to use the vob and not lose all my edits? I see when I right-click my video file, under “more” there is “replace”, but when I click that, it either makes shotcut crash, or it says “There is nothing in the source player” …

Is there a way to do this?

  1. Open the VOB file so that is plays in the Shotcut source player.
  2. Click on the mp4 clip that you want to replace (but don’t “play” it)
  3. Choose “replace”

Ok, I thought that worked, but it doesn’t… If i have my project with an .mp4 file that has been edited, then I open the vob and do replace… It starts the clip at the beginning instead of where my original edit started… Also, because I have lots of segments edited and cross-dissolved together, I would have to click replace on each and every segment (which is incredibly tedious).

But, aside from that-- I am still so confused with my original problem for why I was trying to change my media to .vob in the first place!

If I use this vob file, the properties say its interlaced with bottom field first… But when I export it out as mp4 in shotcut, VLC plays it and there are horizontal lines everywhere when the deinterlace mode is set to “automatic”…

I just found that if I go under export > advanced and set it to progressive, then there are no horizontal lines whether VLC has deinterlace set to “on”, “off”, or “automatic”.

The original VOB file will only show those horizontal lines if I set the interlace mode in VLC to “off”…

I am totally confused as to why the behavior is changing when I export, and I thought i was told I shouldn’t ever have to modify anything under the advanced export settings.

A better way to achieve a progressive output is to choose a Video Mode for the project that is progressive. What video mode are you using? You might be able to change it to a progressive equivalent.

I have been using “640x480 4:3 NTSC”, and “DVD Widescreen NTSC” depending on what the source material on the DVD was.

I am confused though because if the original source vob is “interlaced” why wouldn’t I want the output to also be “interlaced” ?

I originally was converting this .VOBs to .mp4 with ffmpeg with: ffmpeg -i input.vob output.mp4

And it seems when using those .mp4s converted from ffmpeg and changing the export options on shotcut to “progressive” or “interlaced” does not make any difference… Once I burn dvds of those edited mp4 files, they look absolutely terrible with horizontal lines everywhere on my bluray player, and like I said the same thing happens in VLC with the deinterlace mode set to “automatic”.

It appears the only way I can solve this problem is to not convert the .vob to mp4, and edit that and then export it as “progressive.” I am just so confused why changing .vob to .mp4 messed the deinterlacing up?!

Also, it appears that I can maintain my edits by manually editing the xml in the .mlt file and changing the path of the resources to the vob files. But it would be nice if shotcut’s replace feature actually respected existing edits.

Well, that is a philosophical question. And the best answer depends on your goals. You are putting the export files on a blue ray. Interlaced display technology is outdated. It is almost certain that any device you choose to play your files on will be a progressive display device. So maybe the question should be: why would you want the output to be interlaced?

There is a related topic here where I recommend to deinterlace and upscale NTSC source clips to get the best export quality. This is just my opinion, but I have been happy with the results in the past:

I agree with your previous assumption - some metadata must have been lost through the conversions.

That was going to be my next suggestion. I am glad you were able to figure that out.

Well, Shotcut doesn’t really know that you are replacing a clip with a surrogate clip that is exactly the same content. If we changed the behavior to map over the cut points, then someone else would complain about the behavior when they want to replace a clip with a completely different clip. We could add more options… but I think the XML edit is a pretty good solution in this use case.

Replace is generic and does not assume that you are trying to replace with an equivalent/converted file. Consider the use case: I want to replace this shot with a different one without a change to the timing on the timeline. It uses the in point from the Source player and the duration from the timeline clip.

I see, yeah that makes sense… Perhaps an additional option could be offered, something like “replace with time offsets” or something, just to make it more convenient for users?

There is a related topic here where I recommend to deinterlace and upscale NTSC source clips to get the best export quality. This is just my opinion, but I have been happy with the results in the past:

Interesting… I am assuming had I done that, I probably would have avoided all this de-interlacing headache in the first place.

I thought of another “trick” for this.

  1. Close Shotcut
  2. Rename (or move) the .mp4 files
  3. Open Shotcut and open the project - you will be prompted to find missing media
  4. Choose the .vob files rather than the .mp4 files in the missing media tool

How do you upscale to 720p as you were describing? Because, I was just thinking about this-- that should be (I think) what I was originally doing by converting the vob to mp4, no?

I don’t think this works because the dialog window for finding missing files is specifically looking for the missing file-- so looking for an .mp4 with the exact name in this case. my .vob files are grayed out and unselectable.

You can rename the .vob file to .mp4 (make sure it’s the last part of the filename; enable show file extension if on windows). For safety I’d make a copy of the video to a separate folder and rename the copy, leaving the originals intact.

It works. We developers use it all the time when given project files from users to substitute our own media.

This topic was automatically closed after 90 days. New replies are no longer allowed.