====== 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}}