I suspected the Python requests library of truncating the downloads. The library works fine, it's the Tivo that is producing the problems. Keep this code as a reference if we ever need to switch away from pure python.
The Roamio can't package H.264 recordings in Program Stream (PS) format.