I'm in a live production, and I'm clipping hundreds of short videos all day every day. What I'd like to do is use some application to set a watch folder, and as soon as I hit stop on the encoder, and the file is complete, it automatically uploads to a root directory on a specified ftp site.

I've tried using winscp, autover, and many others, but I keep running into several issues: 1) If I set a watch directory, and the file starts encoding, it's changing file size every second, so the application basically tries to do a new upload every 1 second on a file that's not even complete. So that doesn't work. And 2) The ftp has a cron job that pulls the file out of the root once the upload is complete, so it disappears from the remote, so some of the apps detect this as a change and try to reupload all the past videos.

What I'm looking for is an app that I can point to a folder, and say "Don't upload old files that aren't changing in size, don't try to sync directories, just wait for new files to show up, and keep checking their size every 5 seconds, after 5 seconds pass and the size hasn't changed, upload to this ftp."

But so far I'm striking out. Any help would be appreciated.

My clipping machines are Windows 7, but I also use Windows 8.1 / 10.

  • What OS are you using?
    – WineSoaked
    Sep 26, 2015 at 23:53
  • using Windows. My clipping machines are win7, but I also use other laptops that are 8.1/10. I'll edit that into the original post.
    – Jarmer
    Sep 27, 2015 at 0:41

1 Answer 1


Maybe someone will chime in with an app suggestion that directly fulfills your need, but here's a temporary workaround - a bit convoluted, but should work.

  1. Create two folders A and B.
  2. Set folder A as the destination folder in the encoder.
  3. Apply a suffix to all the output files being generated, something innocuous like ENC e.g. Clip2015-09-25-23232-ENC.mov - this step assumes that there may be other non-actionable files in the folder. Skip if not so.
  4. Set up a batch job that runs periodically, whose first command is to rename all files with the suffix, like by adding a prefix or another suffix. And whose 2nd command is to move all files with the new prefix to folder B
  5. While the encoder is working on a file, it has a lock on it, and so only completed files will get renamed. And only those will be moved to B.
  6. Use any of your aforementioned FTP apps to watch folder B and transfer files.
  • This is a great suggestion! Thoughts: 3. Each folder would contain ONLY video files, nothing else. 5. If the file has a lock on it (which makes sense) how can you identify this state? And why don't the auto-upload apps ID this? Are there any apps out there without writing a script that can ID this state? The reason I'm asking is I'd like to be able to come up with an out of the box solution that I can send around to other staff members without having to require they know how to modify scripts. -- Overall though, the move from one folder to another is a great idea.
    – Jarmer
    Sep 25, 2015 at 18:24
  • The lock prevents other apps/processes from modifying or deleting the file, but not from reading it - so a local or remote copy will still work. The rename trick works because it modifies the file and hence requires the encoder to be done with it.
    – Gyan
    Sep 25, 2015 at 18:32
  • Your task needs that the app which identifies the lock state pass along a list to the file transfer app - specifically, the folder's set of unlocked files. So, while a search throws up many apps which identify if a file is locked and who's locked it, don't see one that can interoperate with the FTP app or carry out move operation. A script seems to be needed.
    – Gyan
    Sep 25, 2015 at 18:42
  • In addition to @Mulvya answer: In order not to count on inability of renaming of file, you can check it's "last modified" value. If difference between current time and "last modified" time is greater by some value, then move it into folder B.
    – Shultc
    Sep 26, 2015 at 1:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.