0
$\begingroup$

I have a video which I want to fast-forward during some sections. I can accomplish this by adding speed control, keyframing the speed factor, and for audio keyframing the pitch. This works well if I just render the video as is after that, making no more edits. It seems to render correctly, but problems arise when editing.

If I start playing the video from any other point but from before the first keyframe, the audio is way out of sync with the video which makes it impossible to do smaller edits in the video editor, like for instance add subtitles or restore the playback speed.

Why is it doing this and is there an way around it? Is this even the way to go for fast-forwarding?

$\endgroup$
4
  • $\begingroup$ I think , it's the correct way but maybe you can supply a few more details (blender-version, type of video, ...). However, I can't reproduce your problem with Blender 2.92. I follow the steps as explained by Michael Chu (youtube.com/watch?v=67lnjV6SrFw), using a countdown strip from the internet (youtube.com/watch?v=67lnjV6SrFw). This is a constant framerate video. Maybe, it has something to do with that? $\endgroup$ – Husch Nov 27 '20 at 10:02
  • $\begingroup$ I have tried it in both 2.83 and 2.90. The input video is a matroska with a h264 60 fps video stram and a vorbis 48 kHz audio stream. I render in 60 fps. I think you unintentionally sent the same link twice. I can try following those steps if you update the link. $\endgroup$ – nijoakim Nov 27 '20 at 16:01
  • $\begingroup$ Sorry. The first link is from Michael Chu's channel. He has a couple of videos about the speed ramp. The most recent is youtube.com/watch?v=49lDOqfxVTk. Can you check also if your video is constant or variable framerate? You can do this with a program like Mediainfo; see mediaarea.net/en/MediaInfo). If it is variable frame rate, maybe you have to convert it first to constant framerate. You can use Handbrake (handbrake.fr) for that. $\endgroup$ – Husch Nov 28 '20 at 18:57
  • $\begingroup$ I checked out the video. I think I'm doing it pretty much like he does. Also the frame rate is constant according to MediaInfo, so I don't think that's the issue. $\endgroup$ – nijoakim Dec 1 '20 at 19:15
1
$\begingroup$

The following seems to work. I’ve included the blend-file.

The movie is ”Spring” from the Open Movie project of Blender. You can download it here. Let’s say you want to speed up the movie from time 16+23 (frame 407); just after the falling waterdrop with distinct sound until the dog chasing after the wood stick (time: 42+23 or frame1031).

  • Add the movie. The frame rate is 25 f/s.
  • Add speed Control effect strip
  • Disable stretch to input Strip Length. Set the speed factor to 1.
  • Place timeline cursor at position frame 406. Keyframe the speed factor to 1.
  • Select the sound strip and keyframe the pitch to value 1.
  • Select the speed Control strip
  • Move to frame 407. Keyframe the speed factor to 3 (triple the speed)
  • Select the sound strip and keyframe the pitch to value 3.

So, you create a very abrupt speed up from frame 407 (see the block profile in graph editor in figure 1). Now comes the tricky part. You want to triple the speed until the original time 42+23 or frame 1030. But the actual frame 1030 (after the speed up) is now way further in the timeline. You can see this happening, if you select the actual frame 1030 and disable the speed control (shortcut: H).

So, until which frame or time do we have to speed up? You want to play the original time period of 26 s (42+23 s – 16+23 s) with 3x speed. So, it will only take 26s/3 = 8+16 s. So, the speed control should be reset to one after 8+16 s or at time 25+14s or about 614. The calculation in terms of frames is the same. The original range of 1030 – 407= 623 frames is played at 3x. So, they will take only about 623/3 or about 207 frames of time. The speed control should be reset at 407 + 207 = 614.

  • Select the speed Control strip. Move to time 25+14 or frame 614.
  • Keyframe the speed factor to 1.
  • Select the sound strip and keyframe the pitch to value 1.

Don’t forget to View > Refresh All (Ctrl+R) to remove the eventual cache. The indicated period will be played at 3x no matter from where you start.

Example

$\endgroup$
2
  • $\begingroup$ Not sure what you mean by that I can download the movie from YouTube. I ripped it with youtube-dl and used it in your in project; Not sure if that's what you wanted me to do. Although, I got an mkv instead of an mp4, but converted it to an mp4 with ffmpeg. However, I still get the same problem. Audio is not in sync with the video. Your project is basically identical to what I already have anyway. $\endgroup$ – nijoakim Dec 3 '20 at 21:06
  • $\begingroup$ I just discovered that it is out of sync even if I don't keyframe anything, only modify the playback speed. I submitted a bug report here: developer.blender.org/T83380. $\endgroup$ – nijoakim Dec 3 '20 at 22:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.