Current hard-coded 1 ticks_per_frame assumes that framerate = 1/time_base. This is most often fine, except when re-encoding a source with frames in non-fps intervals. Explicitly setting higher time base works out OK for some codecs (libx264), but not with libvpx, which uses ticks_per_frame and time_base to measure time for rate-control. The net effect is that encoding with high-precision frame-timing for VP8 and VP9 does not work in PyAV.