use markdown
This commit is contained in:
parent
f1e1ed9e71
commit
0d8495ea8f
3 changed files with 60 additions and 24 deletions
23
README
23
README
|
@ -1,23 +0,0 @@
|
|||
oxtimelines - create timeline from video
|
||||
|
||||
https://wiki.0x2620.org/wiki/oxtimelines
|
||||
|
||||
This program takes one or more video files as input and outputs timeline images.
|
||||
If a cuts path is given, it also outputs a json file containing cuts. If in and
|
||||
out points are given, only that part of the video(s) will be rendered.
|
||||
|
||||
The timeline modes can be any combination of 'antialias' (average color),
|
||||
'slitscan' (center pixel), 'keyframes' (one or more frames per cut), 'audio'
|
||||
(waveform), 'cuts' (antialias with cut detection overlay, for debugging) and
|
||||
'data' (each frame resized to 8x8 px).
|
||||
|
||||
One or two timeline heights can be specified, larger height first. The timeline
|
||||
widths will be 1 px per frame for the first one, and 1 px per second for the
|
||||
second (smaller) one. If the wide option is set, large 'keyframeswide' tiles
|
||||
will be rendered. They can be used at a later point to render small 'keyframes'
|
||||
tiles without having to decode the video again.
|
||||
|
||||
depends on
|
||||
python-imaging
|
||||
python-ox
|
||||
ffmpeg
|
59
README.md
Normal file
59
README.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
# oxtimelines - create timeline from video
|
||||
|
||||
This program takes one or more video files as input and outputs timeline images.
|
||||
If a cuts path is given, it also outputs a json file containing cuts. If in and
|
||||
out points are given, only that part of the video(s) will be rendered.
|
||||
|
||||
The timeline modes can be any combination of 'antialias' (average color),
|
||||
'slitscan' (center pixel), 'keyframes' (one or more frames per cut), 'audio'
|
||||
(waveform), 'cuts' (antialias with cut detection overlay, for debugging) and
|
||||
'data' (each frame resized to 8x8 px).
|
||||
|
||||
One or two timeline heights can be specified, larger height first. The timeline
|
||||
widths will be 1 px per frame for the first one, and 1 px per second for the
|
||||
second (smaller) one. If the wide option is set, large 'keyframeswide' tiles
|
||||
will be rendered. They can be used at a later point to render small 'keyframes'
|
||||
tiles without having to decode the video again.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
usage: oxtimelines [options] video1 [video2]
|
||||
|
||||
Options:
|
||||
-h, --help show this help message and exit
|
||||
-o TILES, --output=TILES
|
||||
path for combined timeline tiles
|
||||
-c CUTS, --cuts=CUTS path for combined cuts json file
|
||||
-p POINTS, --points=POINTS
|
||||
inpoint,outpoint (optional)
|
||||
-m MODES, --modes=MODES
|
||||
timeline mode(s) (antialias, slitscan, keyframes,
|
||||
audio, cuts, data)
|
||||
-s SIZES, --sizes=SIZES
|
||||
timeline size(s) (64 or 64,16)
|
||||
-w, --wide keep wide frames tiles
|
||||
-l, --log log performance
|
||||
|
||||
## Install
|
||||
|
||||
pip3 install oxtimelines
|
||||
|
||||
## Python API
|
||||
|
||||
import oxtimelines
|
||||
|
||||
timeline = oxtimelines.Timelines(videos, output, cuts_json, in_out, modes, sizes, wide, log)
|
||||
timeline.render()
|
||||
|
||||
## Latest Code
|
||||
|
||||
git clone https://code.0x2620.org/0x2620/oxtimelines
|
||||
|
||||
## Dependencies
|
||||
|
||||
- python-imaging
|
||||
- python-ox
|
||||
- ffmpeg
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ def video(path, height=96, info=None, framerate=FPS):
|
|||
dar = AspectRatio(info['video'][0]['display_aspect_ratio'])
|
||||
width = int(dar * height)
|
||||
width += width % 2
|
||||
nbytes= depth * width * height
|
||||
nbytes = depth * width * height
|
||||
bufsize = nbytes + 100
|
||||
|
||||
cmd = [
|
||||
|
|
Loading…
Reference in a new issue