I need someone to develope a simple but useful desktop application based on ffmpeg. The aim of this application is to let users to create (add, save, modify, delete...) simple and full complex encoding/transcoding profiles. With those profiles users can create batch scripts that could be used on watched folders and/or ftp sites. The program will always keep an eye on those watched folders/sites so as soon as any file is copied/moved/uploaded into any watched folder/site the programm will execute the corresponding script for this watched folder/site.
Users will be able to add as many profiles, scripts, and watched folders/sites as they want. Any single watched folder/site will have a script to follow which may have several tasks to execute. Those task could be:
* encoding/transcoding tasks based on created profiles
* merge to videos/audios and encode the result (for example to add a 5 second header to some videos)
* moving/uploading resulting encoded/transcoded files to a destination folder or site
* copying/moving source file to a destination folder or site
* deleting source file
* renaming source or resulting files based on several criterias... (remove spaces, replace spaces with dashes, remove strange characters, replacing international accetuated volwels á, à ä with a...)
* Executing an url using names resulting or source file names, dates, time as argument; for example: [url removed, login to view];...
* Scritps will also define what to do if there is a file in destination folder with the same name (overwrite, skip...)
* Scripts will also define what kind of file/s will act as a trigger in that watched folder (for example I may want to encode just .mpg files but if someone uploads a .wmv will ignore it)
Each script/watch folder will have a priority and each task will also have a priority, so if different people put different files in different folders, tasks will be ordered by task priority, then script/watchfolder priority and the by datetime. So most urgent files will be encoded first.
It is very important that the program must be able to know if the new file in the folder or ftp site that will act as a trigger has been completely copied or uploaded; of course we don't want to start encoding/transcoding the file if it has not been finished to copy. It is also important, specially in ftp watched folders to know if the connection has been closed without finishing.
There must be a log file that will register everything specially problems.
Yo must have a deep knowledge of ffmpeg or at least be ready to learn. Everybody can use ffmpeg with the basic options but getting good encoded videos and audios requieres a good knowledge of all its options so you have to know all options, API, libraries... and so on if you want to create a program that interacts with ffmpeg.
This desktop program is going to be used in a Windows environment (xp or server 2003); this is not essential but it would be great if the application could work in other operating systems.
I'm not sure about programing language; I want to hear your opinion. Anyway even if this project is just for a personal use at this time I don't what I will do with it in the future; want full rights (even sale) of code and don't want the program to use any non free third party library code which may not allow me to redistribute the software.
Even if a deep usage of this software will require a good knowledge of video/audio enconding and so on, the desktop application will allow anyone to easyly use it for basic encoding, copy/upload, batch task based on profiles. The graphic interface is needed of course and even if it not the most important thing, a good design will be a plus.
This is not a difficult or long project but requires somebody that may really understand it who must be so familiar to ffmpeg. Please don't bother to bid if you don't have used it before or you have neve done a desktop app.