Нелинейный видеоредактор без перекодирования
Куски видео вырезаются и склеиваются копированием потока: сборка ролика занимает время копирования файла, а не время рендера. Композитинга нет принципиально — при перекрытии побеждает клип с верхней дорожки целиком, и картинкой, и звуком. Именно это ограничение и делает сборку копированием возможной. Что внутри: - монтажный стол со своей отрисовкой: дорожки, масштаб, прилипание, схлопывание, громкость на клипе; - предпросмотр прямо с монтажа через libmpv и виртуальный список кусков, без промежуточных файлов; - сборка через ffmpeg с точными резами: перекодируется только огрызок от реза до ближайшего опорного кадра, остальное копируется; - разбор заголовка MP4 для поиска опорных кадров — в 500 раз быстрее опроса ffprobe; - перепаковка контейнеров, кадрирование и поворот, сведения о проекте; - свои цвета всего окна: системные элементы под Windows цвет не берут, поэтому кнопки, полоса меню, журнал и полосы прокрутки нарисованы сами; - окно зависимостей: недостающие ffmpeg, ffprobe и libmpv скачиваются с официальных источников; - кросс-сборка под Windows и работа под Wine. Первый коммит: до этого история не велась.
This commit is contained in:
commit
b59cdb1352
48 changed files with 22371 additions and 0 deletions
24
tests/build.sh
Executable file
24
tests/build.sh
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
# Сборка консольного инструмента проверок.
|
||||
#
|
||||
# Отдельно от основного проекта: nlvetool не тянет LCL и его виджеты,
|
||||
# ему нужны только модули логики и LazUtils ради поиска ffmpeg в PATH.
|
||||
|
||||
set -e
|
||||
|
||||
FPC=/home/chaiman/fpcupdeluxe/fpc/bin/x86_64-linux/fpc.sh
|
||||
LAZ=/home/chaiman/fpcupdeluxe/lazarus
|
||||
HERE=$(cd "$(dirname "$0")" && pwd)
|
||||
ROOT=$(dirname "$HERE")
|
||||
|
||||
mkdir -p "$HERE/lib"
|
||||
|
||||
"$FPC" \
|
||||
-FU"$HERE/lib" \
|
||||
-Fu"$ROOT/src" \
|
||||
-Fu"$LAZ/components/lazutils/lib/x86_64-linux" \
|
||||
-Fi"$LAZ/components/lazutils" \
|
||||
-o"$HERE/nlvetool" \
|
||||
"$HERE/nlvetool.lpr"
|
||||
|
||||
echo "готово: $HERE/nlvetool"
|
||||
1001
tests/nlvetool.lpr
Normal file
1001
tests/nlvetool.lpr
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue