====== The Image Compositing Socket Daemon ====== ~~DRAFT~~ It's beast I can tell you, once tamed,... DRAFT\\ see also [[oss:sodankyla:start|sodankylä project]] and [[wiki:ics]]. ===== icsd ===== {{:oss:sodankyla:sodanwebplay.png?250 }} run icsd --help ===== HTTP interface ===== ics was intended to react on HTTP parameters only; allowing the base-URL to be independent of the query parameters. For debug purposes a couple of locations sneaked in: ^Location ^parameters^Description| ^ /stream | (A),(B),[D] |request rendered video data| ^ /status | none |display server, decoder & cache status in xHTML| ^ /info | (A),[F] |return txt or JSON information about the given file/decoder/frame.| ^ /index/.* | none |(special) lists directories/files under //doc-root//| ^ .* | (A),(B),[C] |query frame as image| Parameter can be appended as raw URL encodeded query arguments or specified via HTTP POST header. * (A): ''file='' - path relative to /ics/ document-root. * (B): ''frame='' - frame to display or frame to start streaming. * (B): optionally ''w='' and/or ''h=''. Negative numbers imply auto-scaling to aspect-ratio and ''-1,-1'' (the default) mean original size. * (C): ''format=(jpeg,jpg,png,ppm,raw,rgb,rgba)'' - default is 'jpeg' ** only affecting streaming/export ** * (D): ''container=(avi,flv,ogg,mpeg,mpg,rm,vob)'' - default is 'avi' * (D): ''nosound=1'' - default is 0 (with sound) * (D): ''duration='' - how long -1: until end of session; default: 100 frames. * (D): ''save_as='' - override HTTP Content-Type to //application/octet-stream//. ** only affecting info ** * (F): optionally ''format=json'' ** Examples ** http://localhost:1554/?frame=800&file=test.avi&format=png&h=200 http://localhost:1554/stream?frame=2350&file=1%2FJoe_Wright%2FAtonement_%282007%29%2FAtonement.avi&duration=1500&container=ogg&.ogg ===== integration and communication with other tools ===== {{tag>video development floss}}