I decided I wanted to write my own transfer programs in C++ to transfer files from the TiVo to my PC and from the PC back to the TiVo. Transferring from the TiVo to the PC is pretty straightforward. 1. Listen for Beacons to find the tivo servers. 2. Visit the /TiVoConnect?Command=QueryContainer&Container=/ url to get a list of containers. 3. Using the TiVo MAK for http authentication, Parse the appropriate containers. 4. select and transfer a file from the URL in the container, store it as a .TiVo file. 5. optionally use tivodecode and the MAK to convert the .tivo file to a .mpg file. 6. optionally use ffmpeg to convert/transcode the .mpg to a different container format. I'm having a problem letting the TiVo pull files back from the PC. I broadcast beacons. The Tivo connects and gets the "/" container. I can browse the container under the "/" from my tivo. I can transfer .tivo files back tot he tivo just fine. (just sending the file via http) I am using the latest version of ffmpeg for container muxing. I can transfer files that I'm not transcoding just fine. eg "-vcodec copy -acodec copy" My problem happens on any file that ffmpeg is transcoding. The tivo resets the TCP connection anywhere from 2 to 5 minutes into the transfer. I've compared ffmpeg command lines with what pyTiVo is using, and gone so far as to exactly duplicate the command, but I'm still getting the issue. because the transfer is happening fast than realtime, the video is failing anywhere between 5 and 15 minutes in. On the same video, it does not happen at the same frame in multiple tests. Can anyone tell me why the tcp connection is getting reset?