Skip to content

GStreamer#792

Merged
tsynik merged 2 commits into
YouROK:masterfrom
ngcores:master
Jul 16, 2026
Merged

GStreamer#792
tsynik merged 2 commits into
YouROK:masterfrom
ngcores:master

Conversation

@ngcores

@ngcores ngcores commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

GStreamer

  • Синхронизирован Mp4BoxReader: segmentDiff, восстановление sample duration, обработка mfra/moov, строгая проверка MP4 и cue-target режим.
  • Добавлена Matroska Cue timeline с точными границами HLS-сегментов.
  • Разделены master и media playlists.
  • Добавлены корректные CODECS, BANDWIDTH, AVERAGE-BANDWIDTH, VIDEO-RANGE и длительность последнего EXTINF.
  • Добавлены текстовые субтитры WebVTT и HLS-маршруты для них.
  • Реализовано переиспользование pipeline при seek.
  • Seek выполняется через multiqueue video pad с защитой от старых watcher и pull-операций.
  • Исправлены Frozen/restart, освобождение ресурсов и восстановление pipeline после ошибок.
  • Добавлен singleflight для probe и создания задач.
  • Удалены tempfs, queue2 и временные файлы gst-*.
  • Pipeline использует multiqueue с лимитами 5/0/0 и appsink max-buffers=1.
  • В памяти сохраняются только init.mp4 и текущий готовый сегмент.
  • Оптимизированы аллокации при сборке и передаче .m4s.
  • Добавлен линейный рост буферов без удвоения capacity.

Аудио и видео

  • Расширен gst-discoverer probe: контейнеры, HDR, Dolby Vision, субтитры и параметры дорожек.
  • Добавлен AAC passthrough без повторного кодирования.
  • Добавлен автоматический выбор AAC channels и sample rate.
  • Для многоканального AAC автоматически увеличивается bitrate.
  • Исправлено воспроизведение E-AC3 5.1 в браузерах нормализацией channel layout.
  • Добавлена поддержка AVI и VP8 через транскодирование.
  • Добавлено аппаратное кодирование H.264 с software fallback.
  • Добавлен HDR-to-SDR tone mapping.

Web UI

  • Добавлены настройки и диагностика GStreamer.
  • Добавлен встроенный HLS-плеер для GST-сборок.
  • Добавлен запуск воспроизведения непосредственно с карточки торрента.
  • Для сериалов добавлен выбор файла или серии.
  • Для одиночных файлов добавлен выбор аудиодорожки через /gst/:hash/probe.
  • Добавлено отображение языка, кодека, количества каналов и частоты аудиодорожки.
  • Добавлен выбор встроенных субтитров.
  • Добавлено ленивое получение файлов для еще не прогретых торрентов.

Сборка

  • GStreamer-код подключается только с build-тегом gst.
  • Обычные сборки используют заглушки и не подключают purego.
  • Обычные Linux-сборки сохраняют статическую линковку.
  • Windows GStreamer runtime и HDR-плагин могут встраиваться в GST-бинарник.
  • gst-libs перенесен в server/gstreamer/gst-libs.
  • Обновлены build-скрипты и GitHub Actions workflow.
  • Обновлено автоматическое определение версии GStreamer на Linux.
  • Обновлены пакеты GStreamer в Linux install-скрипте.
  • Обновлена документация по установке и сборке.

@tsynik tsynik merged commit 9af8724 into YouROK:master Jul 16, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants