slowmoVideo

slowmoVideo 是一个开源的程序,从您的素材创建慢动作视频。

  • Owner: slowmoVideo/slowmoVideo
  • Platform: Linux, Mac, Windows
  • License:: GNU General Public License v3.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

slowmoVideo 是一个开源的程序,从您的素材创建慢动作视频。但它并不只是你的视频播放在 0.01m/s 媲美的速度。你可以顺利地放慢速度,并加快您的素材,并且可选择带有运动模糊。

Overview

Name With OwnerslowmoVideo/slowmoVideo
Primary LanguageC++
Program languageC++, CMake, C, Objective-C++, Makefile, CSS (Language Count: 9)
Platform
License:GNU General Public License v3.0
Release Count15
Last Release Namev0.6.2 (Posted on 2022-12-19 23:39:41)
First Release Namev0.1 (Posted on 2011-07-18 16:17:42)
Created At2012-12-12 10:53:48
Pushed At2022-12-19 22:39:57
Last Commit At2022-12-19 22:00:58
Stargazers Count615
Watchers Count50
Fork Count82
Commits Count725
Has Issues Enabled
Issues Count160
Issue Open Count66
Pull Requests Count46
Pull Requests Open Count0
Pull Requests Close Count4
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

slowmoVideo

slowmoVideo is a tool that uses optical flow for generating slow-motion videos.
See here for some demo videos.

For the last changes, see the Changelog.

Building

slowmoVideo uses CMake for building. You may also want to build V3D Flow Builder
for fast GPU based rendering.

Dependencies on Ubuntu 19.10…16.04:

build-essential cmake libopencv-dev qt5-default qttools5-dev-tools qtscript5-dev

Building for Linux

git submodule update --init

mkdir build
cd build

cmake ..
make

# Run it
src/slowmoUI/slowmoUI

Building AppImage on Ubuntu 16.04

This guide shows how to build a slowmoVideo AppImage in a Docker container with
linuxdeployqt release, in this example version 6.

See Packaging native binaries for more information on AppImage packaging.

# Create the Docker image from the Dockerfile in this directory
# This can take some time as it will build OpenCV from source.
cd docs
docker build . -name sv-appimage-builder
cd ..

# Run the container.
# By default, this will build the AppImage and copy it to /__build.
# With the volume mount, the AppImage will be copied to the host. 
mkdir sv-appimage
docker run -it --rm -v $(pwd)/sv-appimage:/__build sv-appimage-builder

If you want to compile a different version, run the steps manually inside the
container, for example:

docker run -it --rm -v $(pwd)/sv-appimage:/__build sv-appimage-builder bash
cd slowmoVideo
git checkout v0.6
cd /
./docker-build-appimage.sh
exit

Content after here is not up-to-date. It may still work, but no guarantee!

Building for Windows

This guide is outdated.

Compiling slowmoVideo for Windows using MXE on Linux:

  1. Get mxe not from http://mxe.cc/ BUT, as long as OpenCV is not in the official branch, from
    https://github.com/Granjow/mxe/tree/opencv (Changes by Christian Frisson)
  2. Build opencv, qt, ffmpeg
    and copy the fixed CMake file (avoids library names like liblibjasper) with:
    $ cp replaceOnTime/OpenCVConfig.cmake usr/i686-pc-mingw32/
  3. Run cmake for slowmoVideo, but now give a toolchain file:
    cmake .. -DCMAKE_TOOLCHAIN_FILE=/PATH_TO_MXE/usr/i686-pc-mingw32/share/cmake/mxe-conf.cmake
  4. Compile!

Notes

Additionally to slowmoVideo, ffmpeg.exe (32-bit build, static) is required.
Download it from http://ffmpeg.zeranoe.com/builds/ and put it into the same directory as slowmoUI.exe.

Building for MacOS

take a look at README.osx for more detailed instruction

Translating

For this you should be in the src subdirectory which contains the tr/ directory.
The tools (linguist, lupdate, lrelease) are available in the qttools5-dev-tools package for Debian based systems.

Adding your language

To add your language xx (like fr, it), run the following command to generate the respective .ts file:

lupdate . -ts tr/slowmoVideo_xx.ts

After this you can start translating. To make slowmoVideo actually use the translation, add this entry
to slowmoUI/resources.qrc:

<qresource lang="xx">
    <file alias="translations.qm">../tr/slowmoVideo_xx.qm</file>
</qresource>

Translation

First, run lupdate to get the newest strings to translate from the code.
(Otherwise you might be translating something that does not even exist anymore.)

Then the .ts file can be translated, preferrably with qt’s Linguist, or with any other
translation tool you like.

Finally, to see your translation “in action”, release the .ts file (this creates a .qm file).

lupdate src/ -ts tr/slowmoVideo_xx.ts
linguist tr/slowmoVideo_xx.ts
lrelease tr/slowmoVideo_xx.ts

Now you can push your .ts file to git.

To the top