While developing a pair of specialized plugins for certain objects tracking in a stack I often missed a possibility to use various compressed video files as sources for such stacks.
AFAIK ImageJ can only uncompressed video. So I decided to write my own plugin which could open compressed video files as virtual stacks.
I used FFmpeg library for this task (trough javacv - a bundle of jna interfaced libraries by bytedeco) and I succeeded. Ok, there is some complicated story with dependencies because ImageJ updater cannot distinguish different parts of the library with platform specifications in their names (or may be this is me who cannot…). But finally I’ve managed with this somehow, more or less (although I still have to ignore some updater’s warnings from time to time).
The plugin allows loading video files supported by FFmpeg decoders into a virtual stack and frame by frame linear reading of the video. It is more or less similar to the AVI_Reader plugin in functions.
After the reader plugin was made I realized that it is possible to make a plugin for encoding a stack into a video using same FFmpeg library. It currently allows a simple encoding scheme - it encodes a selected slice range into AVI container with video compressed as old standard MPEG-4, framerate and bitrate can be specified, and proportional frame rescaling can be done optionally.
Both plugins can be found at my update site:
FFmpeg_FrameReader is for video import (File>Import>Using FFmpeg…)
FFmpeg_FrameRecorder is for video export (File>Save As>Compressed AVI using FFmpeg…)
So, ok, long story. Now to the question. Additionally to their plugin-like functionality I’d like to have a possibility to use their code as API in other plugins. So it would be great to put them into imagej’s maven snapshots repository, and then use it as dependencies.
Both plugins are available at GitHub: this and this. I prepared things necessary for Travis, according to this page. And all this message is nothing but an attempt to “Contact an ImageJ admin in Gitter or the ImageJ forum and request that they file a PR which adds Travis support to your repository”.
It is also possible that these plugins could be useful for the community, I believe.
p.s. A warning for someone who will probably try these plugins.
current versions of the plugins require following dependencies in /jar folder:
as for the “platform-name”, for example - /jar/win64/ffmpeg-3.2.1-1.3-windows-x86_64.jar
Some of ImageJ plugins use of older versions of javacv, javcpp and ffmpeg, so be careful to not break your installation