with rubberband you stretch  the audio track by 0.99991 the original speed, leaving the video track unchanged.

If audio quality is that crucial to your video, you also can hasten the video by the factor 1/0.99991 to make it finish together with your unchanged audio track.

This can be achieved with the video filter setpts. PTS means "Presentation Time Slot". The default is 1, presenting the video track as it is. Hastening your video track then means reducing the Presentation Time Slot a bit. In your presented usecase this would mean

setpts=0.99991

Values in video speed between 0.8 and 1.2 deliver convincing natural results. Below and above it is more likely a video trick.

On 02.11.23 18:25, Josh wrote:
Sorry for top posting again, forgot about that!

So this worked. I added "[1]rubberband=tempo=.99991[aud];" to the filters and now the audio and video all sync properly.

But this created a new problem. Now the audio has some slight distortion. It almost sounds like an mp3 that doesn't have a high enough bitrate. It's very faint, and most people probably wouldn't notice it, but I can definitely hear it. Are there other ways so change the tempo that won't distort the sound?

Josh

On Wed, 1 Nov 2023, Torsten Kaiser wrote:

(top posted since the whole thing is top posted)

That is what I do for adapting audio length to the video track

In preparation I calculate the durations in seconds for VIDEO.mp4 and AUDIO.mp3 separately. Must be different files to get the length difference.

Korn Script Snippet

# ADSS is audio length in seconds (n.nn)

# VDSS is video length in seconds (n.nn)

typeset -F5 TEMPO=$(( $ADSS / $VDSS ))  # calculates the correction factor for audio length, five digits precision

#then I apply the rubberband filter to the AUDIO.mp3

ffmpeg -y -i .AUDIO.mp3 -af rubberband=tempo=$TEMPO audio-corrected.mp3

#Merging corrected audio and video

ffmpeg -y -i .VIDEO.mp4 -i audio-corrected.mp3 TARGET.mp4

#Note: rubberband has two nice options: tempo and pitch. Tempo makes the marching band play the same tune while running a marathon.

#Pitch leaves the speed as it is while the cantor either sings with the whales or attracts all bats in the forest. Default is 1 for same tempo and/or same pitch.


On 31.10.23 15:34, Joshua Grauman wrote:
 I tried this and it doesn't help. The audio and video are still not in
 sync, even when you don't use the fade-out...

 Josh

 On Tue, 31 Oct 2023, 凯迪软件(咨询、售后) via ffmpeg-user wrote:

 ffmpeg -y -i "v1-ed.mp4" -i "a1-ed.wav" -filter_complex "[1]anull[aud];  [0]fade=t=out:st=6673.87:n=24[out]" -strict experimental -shortest -map
 0:v:0 -map 1:a:0 "lecture.mp4"



 ??????????????????????????????????????????
 You can try using this command to see if it can solve your problem.

 The translation in English is: "Try canceling the fade-in and fade-out
 effect you added."


 china kaidi




 ------------------ Original ------------------
 From: "FFmpeg user questions" <jnf...@grauman.com&gt;;
 Date:&nbsp;Tue, Oct 31, 2023 07:31 AM
 To:&nbsp;"ffmpeg-user"<ffmpeg-user@ffmpeg.org&gt;;

 Subject:&nbsp;[FFmpeg-user] Extracted Audio not in Sync with Video



 Hi all,

 My use case is that I want to extract audio from a mp4, edit the audio,  and then put the audio and the video back together. It works fine, but  over the course of the two hour video, the audio gets out of sync with
 the
 video and falls behind it (visibly, so you can see the mouth and sound
 aren't in sync).

 I extract the audio with a command like this:
 ffmpeg -y -i "v1-ed.mp4" -vn "a1.wav"

 I edit a1.wav with audacity to create a1-ed.wav.

 And then combine audio and video with a command like this:
 ffmpeg -y -i "v1-ed.mp4" -i "a1-ed.wav" -filter_complex "[1]anull[aud];  [0]fade=t=out:st=6673.87:n=24[out]" -strict experimental -shortest -map
 [out] -map [aud] "lecture.mp4"

 Is there any easy way to make sure the audio stays sync'd through this
 process?

 Thanks,

 Josh
 _______________________________________________
 ffmpeg-user mailing list
 ffmpeg-user@ffmpeg.org
 https://ffmpeg.org/mailman/listinfo/ffmpeg-user

 To unsubscribe, visit link above, or email
 ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
 _______________________________________________
 ffmpeg-user mailing list
 ffmpeg-user@ffmpeg.org
 https://ffmpeg.org/mailman/listinfo/ffmpeg-user

 To unsubscribe, visit link above, or email
 ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
 _______________________________________________
 ffmpeg-user mailing list
 ffmpeg-user@ffmpeg.org
 https://ffmpeg.org/mailman/listinfo/ffmpeg-user

 To unsubscribe, visit link above, or email
 ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to