4
$\begingroup$

I have a single audio-video strip in VSE which has video part 2x longer than audio. I can not deinterlace it and have proper av-sync. Here is a more detailed description:

I'm using last Blender 2.73 and I'm working on linux (having 10+ years of linux and blender exp.). The video is recorded by Panasonic HC V750 camera in default 1080i mode. The ffmpeg -i shows the following info about this recording:

ffmpeg version 0.8.13-6:0.8.13-0ubuntu0.13.10.1, Copyright (c) 2000-2014 the Libav developers
  built on Jul 15 2014 13:48:35 with gcc 4.8.1
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
Input #0, mpegts, from '00000.MTS':
  Duration: 00:00:55.75, start: 0.848900, bitrate: 12290 kb/s
  Program 1 
    Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
    Stream #0.2[0x1200]: Subtitle: pgssub

I've set up Blender properly to have 1920x1080 100% resolution, and I've selected 25fps, PAR 1:1, time mapping 100:100 (everything fairly standard).

Of course the video strip is twice as long. I've checked [x] deinterlace checkbox for the video strip. Now I want to have 25fps deinterlaced video, but I'm unable to set this.

Things I've tried on deinterlaced strip: - cutting it by moving right video strip handle to the length of audio doesn't work (video is just trimmed in about half) - rescaling speed of video strip using Effect->Speed control doesn't work (video is too fast).

How to make the deinterlaced video synced with audio and how to force the deinterlaced video strip to be of the same length as audio strip (which is timed in real seconds)? Another way: how to convert 1080i50 to 1080p25 using Blender only?

please help, thanks in advance

$\endgroup$
4
  • 1
    $\begingroup$ Could you provide a small (3/4 sec) portion of your video file? Maybe a workaround can be found, but without a test on the specific "patient" we'll never be sure it would work for it $\endgroup$
    – Carlo
    Sep 8, 2015 at 13:38
  • $\begingroup$ You specified 'blender only' but your question made it clear you are using ffmpeg. I do believe the quickest way to solve your problem is to use ffmpeg to convert your source video to a format you can use. As an ffmpeg user (but no expert) I would try various command-line options until I found something usable. It might be something simple as "ffmpeg -i sourcevideo.mpg -o destvideo.mp4" although you may need to specify a video codec to remove the interlacing. $\endgroup$ Sep 8, 2015 at 16:42
  • $\begingroup$ Unfortunately I don't have appropriate video right now, but every one recorded with interlace at virtual 50fps is suffering the same problem: it appears twice as long as sound strip for 25fps setting. Deinterlace algorithm used in Blender is very good, however those movies usually have really 25fps, but are perceived as they have 50fps. Maybe that is the source of the problem? $\endgroup$
    – piotao
    Sep 15, 2015 at 13:53
  • $\begingroup$ Might help? blender.stackexchange.com/a/49219/2843 $\endgroup$
    – Samoth
    Mar 21, 2016 at 15:27

2 Answers 2

3
$\begingroup$

Sorry but the bottom line is that Blender doesn't like the formatting of this media. Sorry. It is frame segmented instead of strictly interlaced and just confuses the ffmpeg that Blender uses. I have the same problem with media from my Sony P&S camera.

$\endgroup$
1
  • $\begingroup$ I managed to solve that problem - see my linked answer above. $\endgroup$
    – Samoth
    Mar 21, 2016 at 17:33
2
$\begingroup$

Deinterlace

The "deinterlaced" property involves only the vertical resolution.

The checkbox "deinterlace" does the job.

As you said, check De-Interlace in the property panel of the strip before exporting...

enter image description here

Resample

From file info:

Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)

The problem is that your video is 50fps and you set 25fps in the render panel.

Blender manages the video as an image sequence, therefore:

50 frames at 50 fps = 1 sec.

50 frames at 25 fps = 2 sec.

On the other hand, the duration of the audio is fixed and it doesn't change with the framerate.

This is because your video is two times longer than audio.

To convert 1080i50 to 1080p25 using Blender only, you can export an image sequence setting

Frame Step: 2

enter image description here

Then, you can mix the original audio with the new image sequence.

$\endgroup$
4
  • $\begingroup$ I believe that you loose temporal resolution with this method (actually dropping frames). Which the OP was happy to do but this won't solve the problem of retaining the full 50fps with audio sync (which wasn't in question). $\endgroup$
    – 3pointedit
    Sep 10, 2015 at 22:16
  • $\begingroup$ @3pointedit thank you. I've edited my answer to explain better $\endgroup$ Sep 11, 2015 at 6:56
  • $\begingroup$ I'm not sure I understand correctly this wonderful explanation. Here I'm advised to render only the each second frame, from 1000 frames video, which makes 500 frames. At the same time there is deinterlace enabled, so, what exactly is the result? I mean: is deinterlace changing the number of frames in raw material (from 1000 to 500) or not, and what is performed first: deinterlacing or frame dropping? And if I do not set frame dropping, will I get two-frames long stills, 1000 frames with 500 of them different? Please clarify this problem a bit more, if you don't mind. $\endgroup$
    – piotao
    Sep 23, 2015 at 9:19
  • $\begingroup$ I've edited the answer to clarify the difference between Deinterlace and Resample. In my opinion, the order doesn't matter $\endgroup$ Sep 23, 2015 at 9:47

You must log in to answer this question.

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