<commit_before># hl-capture

[![Build Status](https://travis-ci.org/YaLTeR/hl-capture.svg?branch=master)](https://travis-ci.org/YaLTeR/hl-capture)

[Internal rustdoc](https://yalter.github.io/hl-capture)

hl-capture is a tool for recording Half-Life videos on Linux, written in Rust. It's similar to [Half-Life Advanced Effects](http://www.advancedfx.org/), but focuses on video capturing rather than advanced movie-making functionality.

hl-capture is designed to be **fast** and **convenient**. Video and sound are encoded with [FFMpeg](http://ffmpeg.org/) right away into any desirable format like `mp4`, `mkv` or `webm`. This, together with utilizing multiple threads and GPU-accelerated processing, makes hl-capture way faster than HLAE or Source's startmovie.

## Features
- Fast video and sound capturing and encoding into almost any of the formats supported by FFMpeg.
- GPU-accelerated resampling.
- TAS compatibility out of the box, including engine restarts.

## Requirements
- 32-bit FFMpeg libraries.
- 32-bit OpenCL (look for something like ocl-icd).

## Usage
Check the [wiki](https://github.com/YaLTeR/hl-capture/wiki/Installation-and-usage) for installation and usage instructions.

## Goals
- High capturing speed.
- Compatibility with TASes, including those utilizing engine restarts and RNG manipulation.

## Building
1. Get stable Rust, then do `rustup target add i686-unknown-linux-gnu`
2. Install **32-bit** FFMpeg libraries.
3. Install **32-bit** SDL2.
4. Install **32-bit** OpenCL.
5. `PKG_CONFIG_ALLOW_CROSS=1 cargo build --release`

Look at how the Travis build is set up for minimal build of the dependencies.<commit_msg>Add FFMpeg download link to README<commit_after># hl-capture

[![Build Status](https://travis-ci.org/YaLTeR/hl-capture.svg?branch=master)](https://travis-ci.org/YaLTeR/hl-capture)

[Internal rustdoc](https://yalter.github.io/hl-capture)

hl-capture is a tool for recording Half-Life videos on Linux, written in Rust. It's similar to [Half-Life Advanced Effects](http://www.advancedfx.org/), but focuses on video capturing rather than advanced movie-making functionality.

hl-capture is designed to be **fast** and **convenient**. Video and sound are encoded with [FFMpeg](http://ffmpeg.org/) right away into any desirable format like `mp4`, `mkv` or `webm`. This, together with utilizing multiple threads and GPU-accelerated processing, makes hl-capture way faster than HLAE or Source's startmovie.

## Features
- Fast video and sound capturing and encoding into almost any of the formats supported by FFMpeg.
- GPU-accelerated resampling.
- TAS compatibility out of the box, including engine restarts.

## Requirements
- 32-bit FFMpeg libraries (you can download pre-built static 32-bit FFMpeg libraries with the main codecs [here](https://mega.nz/#!1JRAyD7Z!w0cWQIznCRGQz8ovXO4hKKDBFvgU4BbYrDVosOEoZHU)).
- 32-bit OpenCL (look for something like ocl-icd).

## Usage
Check the [wiki](https://github.com/YaLTeR/hl-capture/wiki/Installation-and-usage) for installation and usage instructions.

## Goals
- High capturing speed.
- Compatibility with TASes, including those utilizing engine restarts and RNG manipulation.

## Building
1. Get stable Rust, then do `rustup target add i686-unknown-linux-gnu`
2. Install **32-bit** FFMpeg libraries.
3. Install **32-bit** SDL2.
4. Install **32-bit** OpenCL.
5. `PKG_CONFIG_ALLOW_CROSS=1 cargo build --release`

Look at how the Travis build is set up for minimal build of the dependencies.
{'fraction_non_alphanumeric': 0.10750215579189422, 'fraction_numerical': 0.014371945961483185, 'mean_word_length': 4.640194489465154, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 9, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4679723', 'n_tokens_mistral': 1125, 'n_tokens_neox': 1051, 'n_words': 389}