Giter VIP home page Giter VIP logo

hg2jj's Introduction

Hackers Guide to Jiu Jitsu: The Application

A tool watching and navigating Jiu Jitsu instructionals.

hg2jj screenshot

Features:

  • Scene detection
  • Scene title recognition (OCR)
  • Download scene info (title & timestamps) from BJJ Fanatics
  • Load / Save instructional information in org-mode format
  • Generate m3u playlist
  • Playback
  • Customization
    • Timestamps
    • OCR preprocessing

Rationale

Jiu Jitsu instructionals can exceed 10 hours in duration that are usually spread from 5 to 8 video files on avarage and may contains hundrends of scenes/topics. For the obvious reasons, they cannot be watched in one go. Instead it's preferable to watch them in chunks and ideally itersperse training sessions between viewings.

So, getting back to a particular topic, is not trivial. It should be!

This tool splits instructionals into pieces and makes it easier for you to find what you are looking for.

Inspiration

A couple of months ago I started writing a series of blog posts called Hackers Guide to Jiu Jitsu that discussed about tools, scripts and tips for getting the most out of instructionals. While shell scripts work, they lack visualization and are hard to tune. A graphical user interface solves both problems.

If you are interested in the posts that I've written so far:

Running

There are multiple ways to run the application. Due to the large number of dependencies which is a bit tricky to get right, it's recommended to run hg2jj as a docker container. Still, you can build it locally and run it as a desktop applicatin.

As a docker container

The easiest way to run hg2jj is using docker. A helper script has been provided to run the container with all required parameters.

./scripts/run-in-docker.sh
Requirements
  • docker

As a desktop application

No ready binaries are provided. To build it locally you are going to need rust version 1.61 or higher and also supporting software and libraries.

Requirements
  • ffmpeg
  • mpv
  • opencv
  • tesseract
Building
cargo build --release
Running
./target/release/hg2jj

The application needs to run from it's folder, in order to load the required assets.

hg2jj's People

Contributors

emilk avatar iocanel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

hg2jj's Issues

Unable to compile

Trying to rust run latest version I find

  --- stderr
  Using stack size: Ok(3145728)
  fatal error: '/usr/include/libavcodec/vaapi.h' file not found
  fatal error: '/usr/include/libavcodec/vaapi.h' file not found, err: true
  thread 'ffmpg-sys-build' panicked at 'Unable to generate bindings: ()', /home/danito/.cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-sys-4.3.3/build.rs:1279:10
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any { .. }', /home/danito/.cargo/registry/src/github.com-1ecc6299db9ec823/ffmpeg-sys-4.3.3/build.rs:6

Using arch latest version. Any clues?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.