Add loudness normalization settings: introduce NormalizeLoudness and LoudnessTargetLufs options in configuration files, update FfmpegMediaProcessor to apply loudness normalization during media processing, and document changes in media storage guide.
This commit is contained in:
@@ -182,6 +182,7 @@ nice -n 10 ffmpeg -i src \
|
||||
-c:v libx264 -preset veryfast -crf 21 -maxrate 4500k -bufsize 9000k \
|
||||
-vf "scale='min(1920,iw)':-2" \
|
||||
-force_key_frames "expr:gte(t,n_forced*2)" -sc_threshold 0 \
|
||||
-af "loudnorm=I=-16:TP=-1.5:LRA=11" \
|
||||
-c:a aac -b:a 128k -ac 2 -ar 48000 \
|
||||
-f hls -hls_time 2 -hls_playlist_type vod -hls_list_size 0 \
|
||||
-hls_segment_filename seg%05d.ts index.m3u8
|
||||
@@ -191,7 +192,10 @@ nice -n 10 ffmpeg -i src \
|
||||
- `-force_key_frames expr:gte(t,n_forced*2)` надёжнее фиксированного `-g` при нецелых fps.
|
||||
- `-sc_threshold 0` убирает сцен-детект, иначе сегменты перестанут быть ровными.
|
||||
- `maxrate 4500k` — ключевой кадр каждые 2с стоит ~5–10% битрейта.
|
||||
- `-threads 3` + `nice` оставляют ядро эфиру. Финальный шаг — добивка хвоста до кратности 2с.
|
||||
- `loudnorm=I=-16:TP=-1.5:LRA=11` — нормализация громкости (EBU R128), чтобы все ролики звучали
|
||||
одинаково; цель настраивается (`Media__LoudnessTargetLufs`), можно выключить (`Media__NormalizeLoudness`).
|
||||
- `-threads 3` + `nice` оставляют ядро эфиру. Финальный шаг — добивка хвоста до кратности 2с
|
||||
(`-af ...,apad=pad_dur=PAD -t TARGET`).
|
||||
|
||||
Очередь обработки: `System.Threading.Channels` + `BackgroundService`, строго одна задача за раз.
|
||||
Inbox-сканер — второй `BackgroundService`: замечает новый файл, ждёт стабилизации размера, заводит
|
||||
|
||||
Reference in New Issue
Block a user