Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/docker-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,16 @@ env:
IMAGE_NAME: ${{ github.repository }}

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3
with:
version: "0.15.11"

build:
needs: lint
runs-on: ubuntu-latest
permissions:
contents: read
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,16 @@ on:
tags: ['v*.*.*']

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v3
with:
version: "0.15.11"

publish:
needs: lint
runs-on: ubuntu-latest
permissions:
id-token: write
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ pyvenv.cfg
.vscode
*.code-workspace
tmp/
logs/


quadlet/
14 changes: 5 additions & 9 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# ---------- Builder stage ----------
FROM alpine:3.21 AS builder

ARG GSTREAMER_VERSION=1.28.4
ARG GSTREAMER_VERSION=1.28.7

# Core build deps
RUN apk add --no-cache \
Expand All @@ -28,13 +28,9 @@ RUN apk upgrade --no-cache \
--repository=https://dl-cdn.alpinelinux.org/alpine/edge/main \
vulkan-loader-dev vulkan-headers vulkan-loader

# Build librtmp (from rtmpdump) and install with a pkg-config file
RUN git clone https://git.ffmpeg.org/rtmpdump.git /opt/rtmpdump && \
cd /opt/rtmpdump && \
make SYS=posix && \
make install prefix=/usr && \
mkdir -p /usr/lib/pkgconfig && \
printf "prefix=/usr\nexec_prefix=\${prefix}\nlibdir=\${exec_prefix}/lib\nincludedir=\${prefix}/include\n\nName: librtmp\nDescription: RTMP library\nVersion: 2.4\nLibs: -L\${libdir} -lrtmp\nCflags: -I\${includedir}/librtmp\n" > /usr/lib/pkgconfig/librtmp.pc
# librtmp for rtmpsink (classic RTMP plugin) — Alpine's package ships headers,
# shared lib, and a working pkg-config file, so no need for the upstream source build
RUN apk add --no-cache rtmpdump-dev

# WPE/WebKit + FDO backend for wpesrc
RUN apk add --no-cache \
Expand Down Expand Up @@ -76,7 +72,7 @@ ENV PATH="/root/.cargo/bin:${PATH}"
ENV RUSTFLAGS="-C target-feature=-crt-static"
RUN cargo install --locked cargo-c

ARG GST_RS_VERSION=gstreamer-1.28.4
ARG GST_RS_VERSION=gstreamer-1.28.7
RUN git clone --depth 1 -b ${GST_RS_VERSION} \
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git /opt/gst-plugins-rs

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.trixie
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable
ENV PATH="/root/.cargo/bin:${PATH}"
RUN cargo install cargo-c

ARG GST_RS_VERSION=gstreamer-1.28.4
ARG GST_RS_VERSION=gstreamer-1.28.7
RUN git clone --depth 1 -b ${GST_RS_VERSION} \
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git /opt/gst-plugins-rs

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Hardware-accelerated encoding via VAAPI (AMD/Intel) or Vulkan Video. Software fa

| Encoder | Type |
|---------|------|
| [`x264`](dove/docs/encoders.md#x264) | Software (always available) |
| [`x264`](dove/docs/encoders.md#x264) | Software |
| [`openh264`](dove/docs/encoders.md#openh264) | Software alternative |
| [`vah264enc`](dove/docs/encoders.md#vah264enc) / [`vaapih264enc`](dove/docs/encoders.md#vaapih264enc) | VAAPI (AMD/Intel) |
| [`vulkanh264enc`](dove/docs/encoders.md#vulkanh264enc) | Vulkan (Mesa 26+, GStreamer 1.28+) |
Expand Down
3 changes: 2 additions & 1 deletion dove/pipeline_handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ def ensure_video_encoder():
name="Preview Audio",
type="audio", element="opusenc",
src=src_uid, is_preview=True,
options="bitrate=64000 frame-size=10",
options="bitrate=64000 frame-size=20",
))
if not self._add_pipeline_direct(audio_enc):
continue
Expand All @@ -483,6 +483,7 @@ def ensure_video_encoder():
name="Preview Audio",
type="audio", element="fdkaacenc",
src=src_uid, is_preview=True,
options="bitrate=64000 afterburner=true",
))
if not self._add_pipeline_direct(audio_enc):
continue
Expand Down
1 change: 0 additions & 1 deletion dove/pipelines/inputs/ytdlp.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from dove.api.inputs.ytdlp import YtdlpInputDTO
from dove.pipelines.inputs.uridecodebin3 import Uridecodebin3Input
from dove.logger import logger

import yt_dlp

Expand Down
22 changes: 11 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "dove-video-editor"
version = "1.0.0rc5"
version = "1.0.0rc6"
description = "DOVE - Online Video Editor"
authors = ["Stefan Hageneder <stefan.hageneder@dorftv.at>"]
license = "AGPL-3.0-or-later"
Expand Down Expand Up @@ -28,19 +28,19 @@ dove = "dove.main:main"

[tool.poetry.dependencies]
python = "^3.12"
fastapi = "^0.136.0"
starlette = ">=0.45.0,<1.0.0"
uvicorn = "^0.44.0"
websockets = "^16.0"
orjson = "^3.11.4"
fastapi = "^0.141.1"
starlette = ">=0.46.0,<1.0.0"
uvicorn = "^0.53.0"
websockets = "^17.1"
orjson = "^3.12.0"
toml = "^0.10.2"
yt-dlp = "^2026.3.3"
yt-dlp = "^2026.8.19"
graphviz = "^0.21"
pydantic = "^2.12.4"
pydantic = "^2.13.5"
httpx = "^0.28.1"
charset-normalizer = "^3.4.4"
authlib = "^1.4.1"
joserfc = "^1.6.0"
charset-normalizer = "^3.5.1"
authlib = "^1.8.0"
joserfc = "^1.7.5"
itsdangerous = "^2.2.0"

[tool.ruff]
Expand Down
Loading