104 lines
3.7 KiB
Markdown
104 lines
3.7 KiB
Markdown
![screenshot](https://user-images.githubusercontent.com/69171671/97077527-0836ef00-15d4-11eb-92a5-bfa236a6b118.png)
|
||
|
||
# videoclip
|
||
|
||
![GitHub](https://img.shields.io/github/license/Ajatt-Tools/videoclip)
|
||
![GitHub top language](https://img.shields.io/github/languages/top/Ajatt-Tools/videoclip)
|
||
![Lines of code](https://img.shields.io/tokei/lines/github/Ajatt-Tools/videoclip)
|
||
[![Matrix](https://img.shields.io/badge/Japanese_study_room-join-green.svg)](https://app.element.io/#/room/#djt:g33k.se)
|
||
|
||
Easily create video and audio clips with mpv in a few keypresses.
|
||
Videoclips are saved as `.mp4` or `.webm`.
|
||
|
||
## Installation
|
||
### Manually
|
||
|
||
Save [videoclip.lua](https://raw.githubusercontent.com/Ajatt-Tools/videoclip/master/videoclip.lua)
|
||
in the [mpv scripts](https://github.com/mpv-player/mpv/wiki/User-Scripts) folder:
|
||
|
||
| OS | Location |
|
||
| --- | --- |
|
||
| GNU/Linux | `~/.config/mpv/scripts/` |
|
||
| Windows | `C:/Users/Username/AppData/Roaming/mpv/scripts/` |
|
||
|
||
Note: in [Celluloid](https://www.archlinux.org/packages/community/x86_64/celluloid/)
|
||
user scripts are installed by switching to the "Plugins" tab
|
||
in the preferences dialog and dropping the files there.
|
||
|
||
### Using curl
|
||
```
|
||
$ curl -o ~/.config/mpv/scripts/subs2srs.lua 'https://raw.githubusercontent.com/Ajatt-Tools/mpvacious/master/subs2srs.lua'
|
||
```
|
||
### Using git
|
||
If you already have your dotfiles set up according to
|
||
[Arch Wiki recommendations](https://wiki.archlinux.org/index.php/Dotfiles#Tracking_dotfiles_directly_with_Git), execute:
|
||
```
|
||
$ config submodule add 'https://github.com/Ajatt-Tools/videoclip.git' ~/.config/mpv/scripts/videoclip
|
||
```
|
||
If not, either proceed to Arch Wiki and come back when you're done, or simply clone the repo:
|
||
```
|
||
$ git clone 'https://github.com/Ajatt-Tools/videoclip.git' ~/.config/mpv/scripts/videoclip
|
||
```
|
||
Since you've just cloned the script to its own subfolder,
|
||
you need to tell mpv where to look for it.
|
||
Open or create `~/.config/mpv/scripts/modules.lua` and add these lines:
|
||
```
|
||
local mpv_scripts_dir_path = os.getenv("HOME") .. "/.config/mpv/scripts/"
|
||
function load(relative_path) dofile(mpv_scripts_dir_path .. relative_path) end
|
||
load("videoclip/videoclip.lua")
|
||
```
|
||
### Updating with git
|
||
Submodules are updated using standard git commands:
|
||
```
|
||
$ config submodule update --remote --merge
|
||
```
|
||
or
|
||
```
|
||
$ cd ~/.config/mpv/scripts/videoclip && git pull
|
||
```
|
||
## Configuration
|
||
Configuration file is located at ```~/.config/mpv/script-opts/videoclip.conf```
|
||
and should be created by the user if needed. If a parameter is not specified
|
||
in the config file, the default value will be used.
|
||
mpv doesn't tolerate spaces before and after `=`.
|
||
|
||
Example configuration file:
|
||
```
|
||
# Absolute paths to the folders where generated clips will be placed.
|
||
# `~` or `$HOME` are not supported due to mpv limitations.
|
||
video_folder_path=/home/user/Videos
|
||
audio_folder_path=/home/user/Music
|
||
|
||
# Menu size
|
||
font_size=24
|
||
|
||
# Video settings
|
||
video_width=-2
|
||
video_height=480
|
||
video_bitrate=1M
|
||
# Available video formats: mp4, vp9, vp8
|
||
video_format=mp4
|
||
# The range of the scale is 0–51, where 0 is lossless,
|
||
# 23 is the default, and 51 is worst quality possible.
|
||
# Insane values like 9999 still work but produce the worst quality.
|
||
video_quality=23
|
||
# Use the slowest preset that you have patience for.
|
||
# https://trac.ffmpeg.org/wiki/Encode/H.264
|
||
preset=faster
|
||
|
||
# Audio settings
|
||
# Sane values for audio bitrate are from 16k to 64k.
|
||
audio_bitrate=32k
|
||
# Create silent videoclips by default. Possble values: `yes` or `no`.
|
||
mute_audio=yes
|
||
```
|
||
Key bindings are configured in ```~/.config/mpv/input.conf```.
|
||
This step is not necessary.
|
||
```
|
||
c script-binding videoclip-menu-open
|
||
```
|
||
## Usage
|
||
- Open a file in mpv and press `c` to open the script menu.
|
||
- Follow the onscreen instructions. You need to set the `start point`,
|
||
`end point`, and then press `c` to create the clip.
|