0

Source video

I have a screencast recorded from iPad with QuickTime Player on macOS.

When I open the original recording in QuickTime Player for playback, I can see the playback controls as below:

enter image description here


Processing

I processed the video with the following command (full log):

ffmpeg -i test-source.mov test-result.mov

Resulting video in QuickTime Player

Then, when I open the result in QuickTime Player, I see the controls as below:

enter image description here

The part with more sparse "dots" plays in slow motion, I can drag the bars to change the start and end of this part and minimise it to zero-length (the overall length changes from 03:06 to 01:00 then and full video plays at normal speed).


Resulting video in iMovie 10

Similarly, when add the video in iMovie with Import Media, I see "Speed"-control already applied on the source:

enter image description here

I can turn it off before adding to the timeline, but if I don't, the clip shows with the following decorators indicating normal speed (left and right) and slow (the middle section with the turtle):

(for this screenshot I added a black overlay to hide the video)

enter image description here

Both the limits of the speed sections and slowdown rate differ between QuickTime Player (1 min. movie expanded to 3:06) and iMovie (expanded to 1:30).


VLC does not notice it, plays the video at normal speed.


Questions

  • What is this feature called?

  • How to avoid this slow motion part in the output of FFmpeg?

  • Share the log of ffmpeg -i test-source.mov -i test-result.mov. How does the file play in other players like VLC? – Gyan Jul 28 '18 at 19:46
  • I uploaded the log to the pastebin. As I mentioned in my previous comment, VLC plays it at normal speed. – techraf Jul 28 '18 at 21:12
1

Your source is variable frame-rate with a peak rate of 120 and an average rate of close to 60. Editors tend to want constant frame rate streams. If you can interpret your whole transcoded file as 120 fps, then you should get the expected result. Alternatively, you can preserve the original variable frame rate,

ffmpeg -i test-source.mov -vsync vfr test-result.mov

or transcode to a constant 60 fps,

ffmpeg -i test-source.mov -r 60 test-result.mov
  • This definitely worked, but left me with the same questions as I had before and stated in question - is it a feature (I guess so, because it has a specific interface), what is this feature called and what it is used for. Also why the original does not observe the slow motion part, while the file processed does... – techraf Aug 1 '18 at 11:54
  • This has more to do with Apple's AV backend rather than the file or ffmpeg. My guess is that in a VFR file, it slows down regions with higher-than-avg rate. Just a guess. – Gyan Aug 1 '18 at 12:54

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.