- Notifications
You must be signed in to change notification settings - Fork6
x42/harvid
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Harvid decodes still images from movie files and serves them via HTTP.
Its intended use-case is to efficiently provide frame-accurate data andact as second level cache for rendering the video-timeline inArdour.
Apart from the source-code and packages from your linux-distributor, binariesare available for OSX, Windows and Linux athttp://x42.github.com/harvid/ .
Harvid is a standalone HTTP server, all interaction takes place via HTTP.After launching it, simply point a web-browser athttp://localhost:1554/
The OSX bundle and window installer come with a shortcut link to launchthe server. On Linux or with the OSX package, harvid is usually startedfrom a terminal by simply typingharvid
<enter>.
Harvid can also be run directly from the source folder without installingit. Get its build-dependencies (see below), run
make./src/harvid
When used from ardour, ardour will automatically start the server whenyou open a video. Ardour searches $PATH or asks your for where it can findharvid. The easiest way is to simply run:
sudo make install
Harvid can be launched as system-service (daemonized, chroot, chuid, syslog),and listen on specific interfaces only in case you do not want to exposeaccess to your movie-collection. However, is no per request access control.
For available options seeharvid --help
or the included man page whichis also available online athttp://x42.github.com/harvid/harvid.1.html
ffmpeg is used to decode the movie. The sourcecode should be compatible and compile withlibav.
For encoding images,libpngandlibjpeg are required.
Harvid is highly concurrent makes use of all available CPUs. It willspawn multiple decoder processes, keep them available for a reasonabletime and also cache the video-decoder's output for recurring requests.
The cache-size is variable only limited by available memory.All images are served from the cache, so even if you are not planningto use the built-in frame cache, the cache-size defines the minimumnumber of concurrent connections.
The HTTP request interface is documented on the homepage of the serveritself:http://localhost:1554/
The default request-handler will respond to/?file=PATH&frame=NUMBER
requests. Optionally&w=NUM
and&h=NUM
can be used to alter the geometryand&format=FMT
to request specific pixel-formats and/or encodings.
/index[/PATH]
allows to get a list of available files - either as tree oras flat-list with the ?flatindex=1 as recursive list of the server's docroot.
/info?file=PATH
returns information about the video-file.
Furthermore there are built-in request handlers for status-information,server-version and configuration as well as admin-tasks such as flushingthe cache or closing decoders.
The&format=FMT
also applies for information requests withHTML, JSON, CSV and plain text as available formatting options.
About
http ardour video daemon