1
$\begingroup$

So I make a new VSE session. Add in my video. All the fps and resolution is correctly lined up. First thing I do is set the proxy and rebuild it at 25%. Takes awhile, then I go to the preview window and enable it to 25% so I can view it as a proxy. Done.

Problem is while I'm editing the frames are not always correctly displayed in the proxy preview window. ANd if I disable the proxy and go back to no proxy 100%, it'll show a completely different frame from the next scene. It usually happens on the frame right before a scene change in the video, it also happens on lip movements. So I could have a completely open mouthed character in the 25%, then I change it to no proxy and it's actually closed mouth....a very very big departure from the proxy.

Seems to be random. So only some frames before scene changes are displayed incorrectly, and only some lip flaps are displayed incorrectly.

The disturbing part is that the 100% no proxy also displays incorrect images in the preview window sometimes, and I have to hit refresh sequencer and it changes to the real scene. I've had issues where I hit refresh sequencer but it even renders the incorrect frames after they've been refreshed manually.

Is there a way to refresh the proxy or fix this problem? I need to use a 25% proxy or something with similar performance or I can't edit. 50% is too laggy as well and the other %'s don't solve the problem either it seems.

$\endgroup$

1 Answer 1

1
$\begingroup$

I had a similar problem where I was using a screen-capturing device that output some strangely encoded mp4 files. Whenever I tried to edit these in Blender, I had the same troubles you describe.

I fixed the issue by converting these strange mp4 files to a standardized format that blender can easily recognize. Here is the python script that I used, but you must have ffmpeg installed for it to work. To use it, save the text into a file that ends with .py and place it in the folder where your video files are stored (and no other files) and run the script:

import os
import subprocess

for file in os.listdir(os.getcwd()):
    if not file.endswith('.py'):
        filepath = os.path.join(os.getcwd(), file)
        outpath = os.path.splitext(filepath)[0] + '.mp4'

        if filepath == outpath:
            outpath = os.path.splitext(filepath)[0] + '_converted.mp4'

        subprocess.call(['ffmpeg', '-i', file, outpath])

If this doesn't work, perhaps you can provide a sample video that I can play with so I can find a better solution and edit this answer.

One problem with this method is that you lose quality everytime you convert and compress a video. If you have the hard drive space, I recommend altering the script so it converts the files to RAW avi files instead, like this:

import os
import subprocess

for file in os.listdir(os.getcwd()):
    if not file.endswith('.py'):
        filepath = os.path.join(os.getcwd(), file)
        outpath = os.path.splitext(filepath)[0] + '.avi'

        if filepath == outpath:
            outpath = os.path.splitext(filepath)[0] + '_converted.avi'

        subprocess.call(['ffmpeg', '-i', file, '-c:v', 'rawvideo', outpath])

The added benefit would be that you would no longer need to make proxy files.

$\endgroup$
3
  • $\begingroup$ I don't think this is what I want, and I can see it getting really really messy in my case. I think it is the actual video file tho (it's mkv file) since its...going weird when i play it like I can't access the last 10 seconds for some reason but the video of the content in fine for watching what you want. And when I insert now in a new blender file the audio and video don't lineup....even tho the fps should be right. Idk if it corrupted later on or what....but I woulda noticed this at the start of the project. I'm gonna fool around with it a bit more. My project is on the verge of completion $\endgroup$
    – kite
    Mar 14, 2018 at 1:54
  • $\begingroup$ So I don't wanna go in and do this script stuff when it could mess up the entire project. $\endgroup$
    – kite
    Mar 14, 2018 at 1:55
  • $\begingroup$ OKay I was able to replicate the issue. I opened up the video file in 2 different new blender files. The first I used normal proxy settings but with the timecode option set to record run. The second I did how I normally do it. Then I made 2 view windows once the proxy was done in 25%. ONE AS NO PROXY AND ONE as the 25%. flipping through it lined up really well and everything was very similar in the one with the Timecode. The other one tho....basically exactly the problems I've been having to date in the project. I'm hesitant to apply a timecode to the existing project's proxy...idk if goodidea $\endgroup$
    – kite
    Mar 14, 2018 at 2:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .