Skip to content
FUSE-based virtual filesystem for exporting VapourSynth scripts as uncompressed videos in MKV format
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
vsmkv converted raw pointers to smart pointers in most places Mar 6, 2018
.gitignore
CMakeLists.txt added first test Nov 5, 2017
LICENSE
README.md Added Windows support to limitations in Readme Jan 28, 2018
test.vpy added support for more color formats Jul 30, 2017

README.md

About

vsmkv is a FUSE-based virtual filesystem for exporting VapourSynth scripts as uncompressed videos in the Matroska (MKV) file format.

Dependencies

FUSE, CMake and a compiler supporting the C++14 shared mutex (e.g., GCC >= 5.2) are required.

Running the unit tests requires the Criterion framework to be installed.

Installation

from the commandline:

mkdir build
cd build
cmake ../
make

Running

The command requires two arguments. First, the path to your VapourSynth script. Second, an empty directory for mounting the filesystem. Additionally, a number of parameters inherited from FUSE may be specified (e.g., -s for running in single threaded mode or -f for running in foreground mode instead of daemonizing):

cd /tmp
mkdir output
/path/to/vsmkv test.vpy output -f

Finally, a player supporting uncompressed video in MKV files can be used to play back the videos (first output node in this example):

cd /tmp/output
mpv node_0

Limitations

  • Currently, only planar YUV color spaces are supported.
  • Concurrent access to the same video from multiple programs results in constant allocation and de-allocation of frames with a huge performance penalty.
  • The software lacks proper logging and error handling for now - errors result in uncaught exceptions.
  • The filesystem needs to be remounted after changing the VapourSynth script file
  • No Windows support (yet) due to the missing native FUSE implementation. Crossmeta FUSE may possibly work.
You can’t perform that action at this time.