quvi • Access media streams, flash-free

libquvi

C API

The C API has been redesigned and provides many new features.

Improvements

Finding (libquvi-)scripts

  • LIBQUVI_SCRIPTSDIR has been renamed to LIBQUVI_SCRIPTS_DIR

  • LIBQUVI_SCRIPTS_DIR now accepts a colon-separated list of dirs

  • Duplicates are now weeded out using SHA1 comparison

  • Additional environment variables have been introduced

  • configure script now supports ”–with-scriptsdir” option

  • LIBQUVI_SCRIPTS_DIR is no longer exclusive

Revised integration with (libquvi-)scripts

The scripts may now return additional properties. Improvements have been made to how the library interacts with the Lua library, e.g. how libquvi retrieves the returned values from it.

Scan embedded media URLs

A new function set (quvi_scan_) has been added for scanning URLs for embedded media URLs.

URL redirection resolving

This is now done more efficiently bandwidth-wise, leaving it for libcurl to do using a series of HTTP HEAD requests.

Stream selection

The library now provides a way to choose the stream using (a comma-separated list of) regex pattern(s). Additionally, a new keyword (“croak”) is now supported.

Script properties

The scripts have now accessible properties, e.g. file{name,path} and SHA1.

Media playlists

A new function set (quvi_playlist_) has been added for querying playlist properties.

Media subtitles

A new function set (quvi_subtitle_) has been added for querying (and exporting) media subtitles.

HTTP cookies

It is now possible to turn on/off HTTP cookie parsing. It should be noted that if the cookie parsing is turned off, some of the quvi-object features (e.g. quvi.http.cookie) will be disabled. The library now covers most of the libcurl cookie features and are accessible by the scripts using the quvi-object.

No stream verification

The library previously “verified” the media stream URL after receiving it from the media script. This was done by sending an HTTP HEAD request and parsing the returned metainfo headers (e.g. content-length) from the reply. The 0.9 series no longer does this. This change leaves it for the applications to do.

  • libquvi provides a function set (quvi_http_metainfo_) for querying the metainfo

See also

  • ‘libquvi(3)’ manpage

« 0.9 series – Components