>Both of these are fixable with some ffmpeg incantations.
I knew that I could re-encode for web streaming, but doesn't each re-encode degrade quality? I didn't realize that I could have fixed the audio issues with ffmpeg, though.
So… if you’re archiving, you’d normally make one high-quality master copy and then create the lower-quality streaming versions from that. Unfortunately, there are often reasons that you’d want multiple versions for streaming.
You also don’t always need to re-encode for streaming. It depends on why the format couldn’t stream in the first place. If you use the wrong container format for streaming (like you create an MKV file), then you can use -codec:v copy -codec:a copy and you’re not re-encoding anything. On the other hand, if you got a yuv444 and you need yuv420 for streaming, that requires re-encoding.
Sometimes, it depends on what you were transcoding between in the previous steps, but it most likely doesn't matter because your original consumer-handheld-camera-and-cheap-tapes quality was trash anyway. Like another commenter mentioned, in cases like this you'd want one high-quality archive export, then transcode to one or a few lossy formats for ease of streaming.
You'd fix the audio drift by changing the sample rate of the audio stream with asetrate: https://ffmpeg.org/ffmpeg-filters.html#asetrate (or you could change the framerate of the video, either way)
no need to re-encode the video if you're only manipulating the audio, and audio is so small compared to video you could just have it lossless (or effectively lossless)
amusing I made the same mistake when batch digitising tapes, did about 20 before realising the audio was out of sync
I knew that I could re-encode for web streaming, but doesn't each re-encode degrade quality? I didn't realize that I could have fixed the audio issues with ffmpeg, though.