Just a reminder that audio timing for dances is often off, for reasons such as
- Nicovideo and Bilibili delaying videos by 0.06 sec and filling that time with silence, so if you copy audio from a video with the same motion data your audio will be 0.06~0.07 sec later than your first frame
- people noticing sync is off and re-syncing it to the wrong music beat
- systematic error elsewhere in a creator's software workflow, that gets propagated to whoever copies audio from their videos
- people using a song cover with a slightly different start time
- attempting to resync audio when the user's audio output is not synced with display, perhaps as a result of a long-running software process
- a dancer replacing microphone audio of a song with the original stereo, but getting the timing off, then this video being traced
- a K-pop artist deliberately moving after a song's audio when recording a practice video, so that their dancing will look better when the sound takes a while to reach the audience (
youtu.be/NU7mizVmJog)
If you run into this problem when making a video, it's possible to copy audio and video streams with ffmpeg (-itsoffset option) in just a few seconds. Opus audio for webm has a weird -0.007 sec offset, but assuming you're using mp4 and aac audio, you can just do
> ffmpeg -i bad_sync.mp4 -itsoffset 0.05 -i bad_sync.mp4 -map 0:v -map 1:a -c copy -movflags faststart fixed.mp4to delay audio by 0.05 sec, or
> ffmpeg -i bad_sync.mp4 -seek2any 1 -ss 0.23 -i bad_sync.mp4 -map 0:v -map 1:a -c copy -movflags faststart fixed.mp4to make audio start 0.23 sec sooner for a "Gokuraku Joudo" video.
The first pattern doesn't work with an avi container as the output, because avi starts all streams at 0 and can give B-frames the wrong timestamps when copying to mp4, so don't use avi.
Sync data that should be on a wiki but isn't that useful to creators, who just want an audio file with the proper offset for a particular motion:
mediafire.com/file/6iz5sxv6djwymgv