Metadata-Version: 2.1
Name: stenocaptioner
Version: 0.3.1
Summary: 
License: MIT
Author: nekanat
Author-email: nekanat.stock@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: ffmpeg-python (==0.2.0)
Requires-Dist: more-itertools (>=9.0.0,<10.0.0)
Requires-Dist: moviepy (>=1.0.3,<2.0.0)
Requires-Dist: numpy (>=1.23.5,<2.0.0)
Requires-Dist: scipy (>=1.9.3,<2.0.0)
Requires-Dist: torch (>=1.13.0,<2.0.0)
Requires-Dist: tqdm (>=4.64.1,<5.0.0)
Requires-Dist: transformers (>=4.25.1,<5.0.0)
Requires-Dist: youtube-dl (>=2021.12.17,<2022.0.0)
Description-Content-Type: text/markdown

# stenocaptioner

Automatic subtitling tool using whisper.

## Dependencies

* [whisper](https://github.com/openai/whisper)
* [moviepy](https://github.com/Zulko/moviepy)
* [youtube_dl](https://github.com/ytdl-org/youtube-dl)

## Installation

### Ubuntu

```sh
sudo apt-get -y install imagemagick fonts-vlgothic
```

You will also need to modify the ImageMagick configuration file to comment out the following policy.

```
sudo vi /etc/ImageMagick-6/policy.xml
  <!--
  <policy domain="path" pattern="@*" rights="none">
  -->
```

Install with pip.

```sh
pip install git+https://github.com/openai/whisper.git
pip install stenocaptioner
```

## Usage

You can give the url of youtube video as an argument.

```sh
stenocaptioner https://www.youtube.com/watch?v=ldybnuFxdiQ --language ja
```

### Original video

![demo_org](assets/demo_org.gif)

### Basic Result

![result_basic](assets/result_basic.gif)

### Background color

![result_bg_color_blue](assets/result_bg_color_blue.gif)

### Contour

![result_contour](assets/result_contour.gif)

### Font

https://fontfree.me/3132

![result_font](assets/result_font.gif)

### Effect (typing)

![result_typing](assets/result_typing.gif)

### Effect (arrive)

![result_arrive](assets/result_arrive.gif)

### Effect (cascade)

![result_cascade](assets/result_cascade.gif)

