This post is years in the making. Not that I’ve spent the entirety of those years working on this problem, or even the entirety of my spare time. This is just one of those things that I’ve relentlessly banged my head up against until I couldn’t take anymore, only to have it nag me somewhere down the line and pick it back up again.
For the longest time, I could not for the life of me process video that was mixed telecine and progressive without having the resulting video end up longer than the original. The immediate problem is that A/V sync starts out fine but then drifts to whatever the time difference is between the two videos. I eventually discovered
soundstretch, which can adjust tempo (play time) without affecting pitch, but then that introduces the problem of calculating the time difference as a percentage (and the rounding errors involved in that), re-coding an already-lossy audio stream, and the time it can take to process one-to-two hours of uncompressed WAV data.
While I did have most of that down, it was just too much time.