Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/CMakeMod
include (FindSSE)
include (GNUInstallDirs)
# include (ExternalProject) # There must be a nicer way to include this
# include (sse2neon)
find_package(OpenMP)

set(MAJOR_VERSION 1)
Expand Down
4 changes: 4 additions & 0 deletions Changelog
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
API change: vs_vector_set() and vs_vector_set_dup() return
VS_OK/VS_ERROR and report the replaced element through a
`void **old' out parameter.
Removed the transcode plugins and the vendored sse2neon.h shim.
Transcode is no longer maintained, and ARM has had native NEON
kernels since the SIMD dispatch rework, so nothing included the
shim any more.
L1-optimal camera path (Grundmann et al., CVPR 2011) implemented and
enabled: camPathAlgo=VSOptimalL1 now really runs the optimization
instead of falling back to the gaussian filter. No new config
Expand Down
15 changes: 0 additions & 15 deletions Install
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,6 @@ To customize the installation prefix use
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local


*** TRANSCODE plugins ***

You need to have the transcode sources installed. The best
choice it to download the same version you have in your distribution.
Youi don't need to compile transcode itself.
Download from http://tcforge.berlios.de/ or
http://developer.berlios.de/project/showfiles.php?group_id=10094.
Then you need to adapt the transcode/CMakeLists.txt and change
the variable
> set(TRANSCODE_ROOT path/to/transcode)

cd transcode/cmake
make
. install.sh

*** FFMPEG ***

You need to configure ffmpeg with --enable-libvidstab
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![C/C++ CI](https://github.com/georgmartius/vid.stab/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/georgmartius/vid.stab/actions/workflows/c-cpp.yml)

Vidstab is a video stabilization library which can be plugged-in with Ffmpeg and Transcode.
Vidstab is a video stabilization library which can be plugged-in with Ffmpeg.

**Why is it needed**

Expand All @@ -25,12 +25,10 @@ A video acquired using a hand-held camera or a camera mounted on a vehicle, typi
* Optional drawing of measurement fields and detected transformations for visual analysis.
* Zooming possible to get rid of jiggling borders (automatic mode).
* Resulting images are interpolated (different algorithms).
* Sharpening of the stabilized movie to compensate for interpolation effects due to rotation/zooming (only with Transcode).
* Single pass filter for streaming applications(only with Transcode).
* Virtual-tripod-mode to get a tripod experience.

**NOTE:** This readme focuses mainly on using vidstab with Ffmpeg. See
[here](http://public.hronopik.de/vid.stab) for information regarding installation, usage and examples for using vidstab with Transcode. Or contact me at georg dot martius @ web dot de
**NOTE:** This readme covers using vidstab with Ffmpeg. Questions are welcome at
georg dot martius @ web dot de

## System Requirements
* A Linux-based system
Expand Down Expand Up @@ -95,8 +93,8 @@ export LD_LIBRARY_PATH=path/to/install_dir/lib:$LD_LIBRARY_PATH

**Currently with ffmpeg, vidstab library must run in two-pass mode.** The first pass employs the **vidstabdetect** filter and the second pass uses the **vidstabtransform** filter.

*Single pass filter with vidstab library is only available with Transcode. The
[deshake](http://www.ffmpeg.org/ffmpeg-filters.html#deshake) filter of ffmpeg can be used for a single-pass encoding, though using the vidstab two-pass filters will give superior results.*
*If you need a single pass, ffmpeg's own
[deshake](http://www.ffmpeg.org/ffmpeg-filters.html#deshake) filter can do that, though the vidstab two-pass filters give superior results.*

The vidstabdetect filter (in first pass) will generate a file with relative-translation and rotation-transform information about subsequent frames. This information will then be read by vidstabtransform filter (in second pass) to compensate for the jerky motions and produce a stable video output.

Expand Down
Loading
Loading