My camera can also record straight into mp4 container. I wonder what the difference between its .mp4 and .mov files is.

Again, I remember I had some difficulties with .mp4 so I switched to .mov - but I can't remember what those difficulties were...  yikes  ...likely it was the "AviSynth stopping at 75% through the video" issue. And I had to switch to .mov because QuickTime couldn't re-save (to rebuild header data) the .mp4 files.

I'll have to try make some test recordings into .mp4 next weekend ( = more free time to play around with video files, this is slow stuff smile ).

Wow, how did you generate that report? Just Excellence? That's a lot of work again, many thanks! smile

I ran into an odd issue with QTSource... if I use "mode=0", it halves the resolution of the video to 960x540.  hmm This happens both in VirtualDub or if I open the .avs in any media player.  Only with "mode=3" I get full resolution.

With DirectShowSource, when opening the .avs, VirtualDub just freezes and refuses to open the video. I wonder if I need to install some codec or such to get .movs to work through DirectShow...

Sure! I'm sending it to WeTransfer now.

BTW, those files I sent you are not the original files from the cameras. They give them wrong moov atom header info (which makes AviSynth stop at about 75% through the video), so I have to open them in QuickTime Pro and save them again as "stand alone movie". This rebuilds the header data.

Great, thanks for checking this for me! I was just googling for the QTInput wiki a while ago, when a notification of this reply appeared. smile

I remember having some other difficulties with other modes than mode=3 (AviSynth crash? I don't remember) that's why I was using it.

Thanks! smile

MAG79 wrote:

Otherwise point in QTSource right framerate (29.95). And with only one hard-drop you can forget about sync issue wink

Um, "pointing the framerate", I presume, doesn't do the same as AssumeFPS? Because with AssumeFPS (which I used to force both clips to the same framerate when re-encoding) they drifted pretty badly out of sync, like at least 0.15 seconds or so.

Indeed. smile  Thanks for your help!

So... when AviSynth does the "convertfps", will it correct the drops by duplicating frames so that the hard drop doesn't throw the clips off sync?

And, um, how do I get this to work with QTSource, or do I need to convert those .movs to some other format first?

Um... now I fell off the tracks. N00b not understand what this mean. Do you mean the framerate is consistent after all?

Interesting! smile  (also, more programs and utilities I've never heard of!). Um, that frame count difference is caused by the dropped frames, right?

I used a wireless remote control to start and stop both cameras simultaneously. They won't start or stop *exactly* at the same time, but at least 'close enough' so that the sync can be done manually in Vegas. Usually they're only 1-2 frames off from each other.

It's worked well so far, but those dropped frames are a big problem, as even if the videos are in sync in the beginning, they will end up drifting off sync towards the end as the frame drops wreak havoc...

Note to self: to avoid this problem in the future, I should not only ensure the batteries are fully charged, but also shoot at a lower bitrate/quality. I'm currently shooting at maximum bitrate, but I guess it brings little visual advantage, while really pushing the SD card to its limits.

Also, I better check what the speed class of the SD cards I'm using actually is...

Wow.. the framerate drops down to even 14.9254 at one point, that's quite a gap. But SVP should be able to handle it just fine & dandy, right? smile

Thanks!

MAG79
First results of analyze MOV-(gdsmux)->MKV-(mkv2vfr)->VFR

Hmm. Oh. So AviSynth alone isn't enough, looks like there are a lot of new steps required. Sounds like a lot of work... thanks for your time and trouble!

Oh. So what happens when you VFR->CFR? Does it still maintain video length, as in, if there are dropped frames, it will duplicate previous frames to fill the gaps, so that the length of the video stays the same?

I'm asking because I'm a curious n44bie, iz all. smile

SVF framerate conversion, I suppose?
Do you mean VFR?
VFR=variable frame rate

I mistyped "SVP" as "SVF", oops. What I meant was that just converting from VFR->CFR isn't enough; SVP has to be there to morph the dropped frames beautifully. As a part of the whole pipeline.

So I reckon the "3. replace drops" part is done by SVP, then? After VFR->CFR opening, how does SVP know which frames have been dropped and need to be interpolated?

Here's an AviSynth script I normally use to defish these videos (by opening this script in VirtualDub and saving to x.264 with x264vfw).

LoadPlugin ("C:\Program Files (x86)\Video\AviSynth 2.5\plugins\defish_mt.dll")
LoadPlugin ("C:\Program Files (x86)\Video\AviSynth 2.5\plugins\QTSource.dll")
LoadVirtualDubPlugin("C:\Program Files (x86)\Video\VirtualDub_1911\plugins\DeBlock.vdf","DeBlock", 0)

QTInput("video.mov", color=1, quality=100, mode=3, audio=1)
DeBlock(1, 1, 1, 1)
defish(fov=101, scaling="fitxy")
ConvertToYV12()

(color = 1 converts it to RGB32, which DeFish requires)

MAG79
If it is not top secret video of-course.

Nope, it's just a test shoot, with a random street corner in Stockholm with some people passing by, staring at my weird camera setup (or me). smile

Would WeTransfer.com work for you? It's pretty quick to use.

Hmm... DirectShowSource? Alas, those movies are in QuickTime so I'm using QTSource. I suppose that one does not support convertfps=true?

The DeFish plugin can be added to the AviSynth script to follow after the SVF framerate conversion, I suppose? (then I can open this .avs in VirtualDub and re-encode it to an x.264 file for stereo pairing editing in Vegas)

Thanks!

Sure, I can send you the files for testing if you like. They're about 652 Mb in total, though, so we'll need to figure out a feasible way to pipe them over to you.

I have two .mov video files:
left camera video.mov - 29,951 fps; length 2:50,680
right camera video.mov - 30,928 fps; length 2:50,655

Both videos were recorded simultaneously  (started and stopped the same time) on two separate cameras. The cameras are identical models, but one was low on battery and kept dropping frames (for some reason this gives a higher frame rate value?  hmm ).

- They are the same length, and play in sync if inserted into a Vegas project (Vegas's timeline is source media framerate independent)
- BUT: They will not pair into a stereoscopic subclip because of too much framerate difference in the media files
- If I re-encode the files with VirtualDub to just simply force them into the same framerate (29,970), they will drift off sync because of the rate difference
- I can adjust the Undersample rate of the re-encoded off-sync video to get it to (almost) match with the other video, but a video with an undersample setting still cannot be paired - I would have to re-render it out of Vegas into an intermediate video file first ( = lossy).

I suppose I don't necessarily even need SVP to fix the video - all that needs to be done is to resample the video so that it stays the same length, but just has a correct framerate so that it pairs with the other clip. I can do this in Vegas: simply render out the video to an intermediate file. But presumably SVP would give a smoother result? (Does AviSynth have frame resampling options built in?)

The other problem is that Vegas Movie Studio only renders to AVC mp4, which I'm not sure if AviSynth can read - because I also need to apply a fisheye removal to the video. And only the DeFish plugin in AviSynth does it right (of all the available options I have tried).

Thanks for the quick reply! So there is a way to do it then. smile  How does it know which frames are missing? Can it use the audio track as the "measuring stick"?

Do you think there might be any problems caused by the fact it's not just one, but two videos that need to be consistent to each other?

I'm definitely interested, and thanks for your offer to help! But I'm quite a n44bie with AviSynth and haven't even downloaded and installed SVP yet. I guess I'll need to bash my head against this for a while first, just to get started.

I'm using two action sport cameras to shoot stereoscopic video. As in, I have two video files I need to pair into one stereoscopic video. I do this in Vegas Movie Studio.

I ran into a problem: if one of the cameras is low on batteries, it keeps recording, but starts dropping a lot more frames than the other. The framerates between the two videos can get so different that Vegas Movie Studio refuses to pair them into a stereoscopic subclip (required for 3D video in that program).

I usually re-encode the videos with an AviSynth script to remove fisheye distortion. I can use the same script to force the videos to the same framerate (like 29.970) so they become possible to pair in Vegas. But because of the dropped frames they will drift out of sync. sad

The videos have an audio track, which does not suffer from dropped frames - it is always consistent. VirtualDub, for example, can change the video's framerate to match the audio track's length. That's a good starting point, but the resulting video's framerate is still too different from the other to pair in Vegas.

So, I was wondering: is it possible to use SVP to repair those dropped frames, and give both videos the same framerate, matched to the audio track length? I haven't used SVP yet, but I thought I'd ask first.

(I guess one potential problem is that SVP couldn't really know when exactly along the timeline do those dropped frames occur?)

Thanks!