This provides a restful server to create and manage transcoding jobs, this more or less wraps FFmpeg to provide a high performance transcoding server.
<appSettings>
<add key="bindhost" value="*"/>
<add key="bindport" value="5121"/>
<add key="maxtasks" value="3"/> <!-- Typical one less than the number of cpus/cores you have -->
<add key="file-root" value="/mnt/media"/>
<add key="video-destination" value="/videos"/>
<add key="thumb-destination" value="/thumbs"/>
<add key="serve-url" value="https://transcoded.myserver.com"/>
<add key="mode" value="move"/>
<add key="statsfile" value="/opt/ffrest/ffrest.stats"/>
<add key="workingdir" value="/var/ffrest/working"/>
<add key="ffmpeg-location" value="/usr/local/bin/ffmpeg"/>
<add key="ffprobe-location" value="/usr/local/bin/ffprobe"/>
</appSettings>
POST server:5121 /jobs
jobid=myJob&taskid=task1&tag=My description&video=https://myserver.com/myfile.mp4&preset=x264&callbackUrl=https://myserver.com/transcodecomplete.php&extension=mp4
GET server:5121 /jobs
Q: Why doesn't it do X Y Z? Why isn't X feature supported? I found a bug!
A: Create an issue and I will look into it for sure!
Q: If you do X you get can get a Y% performance increase!
A: Not really a questions is it? Also great! Submit a pull request!