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>
<addkey="bindhost"value="*"/>
<addkey="bindport"value="5121"/>
<addkey="maxtasks"value="3"/> <!-- Typical one less than the number of cpus/cores you have -->
<addkey="file-root"value="/mnt/media"/>
<addkey="video-destination"value="/videos"/>
<addkey="thumb-destination"value="/thumbs"/>
<addkey="serve-url"value="https://transcoded.myserver.com"/>
<addkey="mode"value="move"/>
<addkey="statsfile"value="/opt/ffrest/ffrest.stats"/>
<addkey="workingdir"value="/var/ffrest/working"/>
<addkey="ffmpeg-location"value="/usr/local/bin/ffmpeg"/>
<addkey="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!