otr_utils/lib.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
//! # otr-utils
//!
//! otr-utils provides tools to decode and cut video files from [Online TV Recorder](https://www.onlinetvrecorder.com/)
//! (OTR).
//!
//! ## Decoding
//!
//! Decoding of OTRKEY files (i.e., encoded video files downloaded from OTR) is
//! supported. The decoding functionality is based on the work of eddy14, who
//! reverse-engineered the OTRKEY file format, see [his blog post](https://pyropeter.eu/41yd.de/blog/2010/04/18/otrkey-breaker/)
//! [German, mirrored by [PyroPeter](https://github.com/pyropeter)].
//!
//! ## Cutting
//!
//! Cutting of decoded videos is done by using [FFmpeg](https://ffmpeg.org/) together
//! with [FFMS2](https://github.com/FFMS/ffms2). It is done **accurate to frames**.
//! I.e., even if a boundary of a cut interval is not at a key frame, cutting is done
//! exactly at that boundary. To achieve this, parts of the video might have to be
//! re-encoded.
//!
//! With respect to cut list determination and selection, there are two different
//! options:
//!
//! 1. Cut lists are downloaded from the cut list provider [cutlist.at](http://cutlist.at) and selected
//! automatically
//!
//! If multiple cut lists are available, those with a high rating are preferred.
//!
//! 1. A cut list is passed explicitely to the cut function as vector of cut
//! intervals
//!
//! This option can make sense if cutlist.at cannot provide a cut list for a
//! video. In this case, the cut function can upload such cut lists to [cutlist.at](http://cutlist.at)
//! to make them publicly available. This requires a registration at cutlist.at
//! (i.e., an access token - $$FRED).
pub mod cutting;
pub mod decoding;
mod dirs;