While I have previously shied away from using imageio-ffmpeg as the
default version because the included version is 4 years old and
specifically does not work with the av1 format, there have been specific
issues from people with a system version of ffmpeg that is even older.
There has been a longstanding desire to create a system for determining
the best version of ffmpeg, but this has proved a reasonably involved
task. Some version information uses git commit hashes instead of a
potentially sortable semvar and there are a large number of compile time
flags that could result in a newer binary having less functionality.
Thus a sysstem has been added that parses compile flags for desired
encoders as well as the copyright year to determine which ffmpeg version
is more feature full.
Support loop_count with videos, fixes#83
Add support for forcing usage of ffmpeg bundled with imageio by setting
VHS_USE_IMAGEIO_FFMPEG to ease testing and as a temporary fix for #80
When saving with metadata, if an error occurred after initialization, an
empty output video would be produced which caused the without metadata
retry to fail with a less helpful error message. Now, if the pass with
metadata failed, but produced an output file, that error is raised and
the retry does not occur. This should not change the effectiveness of
the fallback for those who were experiencing the metadata issue.
Basic support for loading urls has been added to Load Video.
Most of the work is made trivial by both ffmpeg and opencv automatically
fetching a url if it's provided instead of a path.
A more sophisticated fix for error passing from ffmpeg during preview
generation. If a request is aborted, the ffmpeg process is immediately
killed instead of being allowed to respond to stdin being closed and
waited on at the end of the with block
save_metadata is now a format flag
- This allows saving to different tag and hides for image formats
Implement high bit depth support
- Disabled by default, but works for images and has shown in testing to
produce objectively higher quality output than base Save Image
Fix target_size from load video not applying when 2 dimensions are set
When an input video is scaled to a new aspect ratio, it is now cropped
Removed try wrapping of load video nodes. This creates more confusion
now a system of fallbacks isn't used
A fix for parsing format_widgets when applied outside a '_pass'
Fixed missing import of logger in utils
Animated images are now included in the animated preview code
- This improves performance and allows for pausing
Cleaned up injection of code to load metadata
Audio settings are now stored in video_formats
Updated video_formats with reasonable defaults for audio
A Load Audio (Path) node has been added
Audio Loads are cached with load state and only occur once.