<commit_before>## Seneca 

Creates animated GIFs from videos.

<img src="logo.png" width="289" height="309" alt="seneca animated gif logo"/>

## Dependencies

* [Go](http://golang.org/)
* [ffmpeg](http://www.ffmpeg.org/)

## Usage

```bash
$ seneca -h

Usage:
  seneca -video-infile <path>
  seneca -h
  seneca -version

Options:
  -h                    Show this screen.
  -version              Show version.
  -dry-run              Show what would be done without
                        real invocations.
  -vv                   More verbose output
  -video-infile=<path>  Path (relative/full) to your mp4/flv/mov etc..
  -from=00:00:00        Starting frame offset in hh:mm:ss
                        (Default: 00:00:00)
  -length=<duration>    Duration to capture (Default: 3s) 
                        E.g. 2m35s, 1h2m15s

Codec Options:
  -scale width:height   Scale dimensions of input video (Optional)
                        constraint: width & height must be even integers
                        e.g. 300:_  calc height to maintain aspect ratio
                             _:250  calc width to maintain aspect ratio.

  -fps=<value>          frames per second. (Default: 25)
                        Range [1, 30]

Progress Reporting Options:
  -port=8080            TCP port for progress bar. (Default: 8080)

Animated GIF Options:
  -speed=<value>        Slow down / speed up animation(Default: placebo)
                        e.g veryfast, faster, placebo, slower, veryslow

  -repeat=<count>   **  Number of times to loop. (Default: loop forever)
  -delay=<seconds>  **  Seconds to pause before repeating animation
  -optimize         **  Attempts to reduce size of generated GIF.
  -upload           **  Uploads to imgur.com

Exit status:
  0  if OK,
  1  if invalid cli arguments (e.g. unable to read supplied video file),
126  if execution of ffmpeg failed,
127  if ffmpeg & ffprobe are not found on $PATH.


DEVELOPMENT STATUS:
  Options tagged with ** are not implemented yet.
```

## Installation

On my Ubuntu development machine:

1. Install latest Go
2. Install ffmpeg
3. Compile `seneca`

```bash
$ git clone --recursive <EMAIL>@github.com:javouhey/seneca.git
$ cd seneca
$ ./build
```

4. You can now run the binary. (It is advisable to add it to your $PATH)

```bash
$ ./bin/seneca
```

## Sample
<commit_msg>small tweak<commit_after>## Seneca 

Creates animated GIFs from videos.

<img src="logo.png" width="289" height="309" alt="seneca animated gif logo"/>

## Dependencies

* [Go](http://golang.org/)
* [ffmpeg](http://www.ffmpeg.org/)

## Usage

```bash
$ seneca -h

Usage:
  seneca -video-infile <path>
  seneca -h
  seneca -version

Options:
  -h                    Show this screen.
  -version              Show version.
  -dry-run              Show what would be done without
                        real invocations.
  -vv                   More verbose output
  -video-infile=<path>  Path (relative/full) to your mp4/flv/mov etc..
  -from=00:00:00        Starting frame offset in hh:mm:ss
                        (Default: 00:00:00)
  -length=<duration>    Duration to capture (Default: 3s) 
                        E.g. 2m35s, 1h2m15s

Codec Options:
  -scale width:height   Scale dimensions of input video (Optional)
                        constraint: width & height must be even integers
                        e.g. 300:_  calc height to maintain aspect ratio
                             _:250  calc width to maintain aspect ratio.

  -fps=<value>          frames per second. (Default: 25)
                        Range [1, 30]

Progress Reporting Options:
  -port=8080            TCP port for progress bar. (Default: 8080)

Animated GIF Options:
  -speed=<value>        Slow down / speed up animation(Default: placebo)
                        e.g veryfast, faster, placebo, slower, veryslow

  -repeat=<count>   **  Number of times to loop. (Default: loop forever)
  -delay=<seconds>  **  Seconds to pause before repeating animation
  -optimize         **  Attempts to reduce size of generated GIF.
  -upload           **  Uploads to imgur.com

Exit status:
  0  if OK,
  1  if invalid cli arguments (e.g. unable to read supplied video file),
126  if execution of ffmpeg failed,
127  if ffmpeg & ffprobe are not found on $PATH.


DEVELOPMENT STATUS:
  Options tagged with ** are not implemented yet.
```

## Installation

On my Ubuntu development machine:

1. Install latest `Go`
2. Install `ffmpeg`
3. Compile `seneca`

```bash
$ git clone --recursive <EMAIL>@github.com:javouhey/seneca.git
$ cd seneca
$ ./build
```

4. You can now run the binary. (It is advisable to add it to your $PATH)

```bash
$ ./bin/seneca
```

## Sample

{'fraction_non_alphanumeric': 0.10004275331338179, 'fraction_numerical': 0.02479692176143651, 'mean_word_length': 2.123497997329773, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1103783', 'n_tokens_mistral': 1569, 'n_tokens_neox': 1401, 'n_words': 511}