Avisynth Virtual File System
2015.03.25 - 1.0.0.6
Overview
--------
AVFS is a user mode file system for Windows which exposes the output
of Avisynth scripts as virtual WAV and AVI files. This allows
Avisynth to serve video and audio data to applications through the
file system, without using the VFW or DirectShow APIs. The virtual
AVI and WAV files consume no disk space.
Some of the scenarios where this is useful include:
- Serving data from 32 bit Avisynth and plugins to 64 bit
encoders and media players.
- Serving data through file shares to remote systems, potentially
running non Windows operating systems.
- Breaking complex scripts into stages that can be run concurrently
on multiple systems.
- Serving data to encoders or players that do not support
VFW or DirectShow.
License
-------
AVFS is distributed under the same license as Avisynth. Refer to the
included license.txt and gpl-2.0.txt .
Installation
------------
Install the latest Pismo File Mount Audit Package from
http://www.pismotechnic.com/download/ .
Copy avfs.exe to a folder in your path. The c:\windows folder
will work.
Operation
---------
To mount an Avisynth AVS script, from a cmd.exe prompt run:
>avfs somescriptfile.avs
or
>start avfs somescriptfile.avs
You could also associate avfs.exe with the avs file extension
in explorer, to allow you to more conveniently mount avfs files.
Once you have mounted an AVS, you can access the output of the
script through the mount point in the c:\volumes folder. So for the
above example, you would go to c:\volumes\somescript.avs . The
script output is presented as various *.avi and *.wav files.
When finished, you can unmount the script file by pressing ctrl+c
in the avfs console window, or by closing the console window.
Refer to the included sample.avs script file for AVFS specific
script settings that may be useful and/or necessary.
Notes/Tips
----------
You may need to add a ConvertToRGB24() to the end of your script
in order to generate an AVI file that most things understand.
When accessing virtual AVI files over a network file share, keep in
mind that the uncompressed video data output from Avisynth is really
big. Typical throughput on a gigabit network should be adequate to do
100+ frames per second, but with high def video it may not be possible
to playback video in realtime.
Support
-------
AVFS is free software developed by volunteers. For community support,
try the http://www.doom9.org forums. For development information try
the Avisynth development forum at
http://forum.doom9.org/forumdisplay.php?f=69 .
Credits
-------
AVFS is primarily the work by Ian B. and Joe Lowe. AVFS is useful
only because of the work of many other individuals in the Avisynth
project and other projects.
Release History
---------------
2015.03.25 - 1.0.0.6
- Updated to newer PFM dev kit, build 174.
- Converted from "PFM Audit Package formatter DLL" to a standalone
executable. This has various benefits to installation,
documentation, and code reusability, but does give up some explorer
integration.
- AVS script output is now exposed from a mount point under
c:\volumes , instead of through a virtual mount point that replaced
the script file.
- Added logic to automatically reload the AVS file when it is
directly modified. This is in addition to being able to edit the AVS
file through the mount point.
2010.05.23 - 1.0.0.5
- Fixed audio truncation when no-interleave option is used in
script.
- Updated to newer PFM dev kit, build 154.
- Added no-index and offline flags to virtual media files,
to let explorer and shell extensions know not to open virtual
media files. Requires PFM build 157 or later.
2008.08.08 - 1.0.0.4
- Fixed divide-by-zero fault when outputting clips that are shorter
than 1 second.
- Various output file format improvements.
2008.06.14 - 1.0.0.3
- No significant changes.
2008.06.09 - 0.0.0.2
- Added background read-ahead cache to improve CPU utilization on
multi-core systems or when serving data through the network. Includes
some tunability via AVFS_ReadAheadFrameCount script variable.
- Added AVFS_AVI_VidFcc script variable, to allow overriding video
format fourcc code. Useful to improve compatibility with specific
encoders or readers that do not recognize the YUY2 or YV12 fourcc
codes used by default.
- Added some diagnostic/status tracing, visible using Pismo Trace
Monitor. Shows the frame number and audio sample offsets that are
being accessed to satisfy read requests.
2008.06.02 - 0.0.0.1
- First release