
Прибуття GStreamer 1.26.7 Він має вишуканий вигляд: це реліз, зосереджений на виправленні помилок, згладжуванні недоліків та підвищенні стабільності кросплатформного мультимедійного фреймворку. Хоча він не приносить кардинальних змін, він пропонує помітний набір покращень, які разом підвищують надійність у реальних аудіо- та відеосценаріях. У цій версії багато уваги приділено ключовим елементам, таким як RTP/RTSP, контейнери, графічні процесори, субтитри CEA-608, синхронізація та інструменти розробки. Це безпечний перехід для тих, хто вже користувався серією 1.26.x. і вони хочуть менше виробничих збоїв.
Команда наголошує, що це рекомендоване оновлення для всіх користувачів стабільна гілка, включаючи програми, що працюють із потоками в реальному часі, демультиплексуванням популярних форматів та конвеєрами, що підтримуються графічними процесорами NVIDIA або Direct3D 12. Крім того, є практичне зауваження: Бінарні файли для Android, iOS, macOS та Windows будуть доступні найближчим часом., що дозволяє кросплатформним командам легко переміщатися між середовищами.
Огляд випуску GStreamer 1.26.7
GStreamer 1.26.7 зосереджений на виправленні помилок, налаштуванні затримки та покращенні сумісності, з низкою виправлень, що стосуються як окремих плагінів, так і кросплатформних компонентів. Серед основних моментів – покращене накладання CEA-608, підтримка інструментарію CUDA 13.0, виправлення D3D12, нові корисні навантаження/депаклоудери для лінійного аудіо в RTP, оптимізація демультиплексування та мультиплексування, а також покращення механізмів спільного використання потоків. Мета полягає в підвищенні надійності без зміни API або очікуваної поведінки. на стабільній гілці 1.26.
- Субтитри та накладання: краще керування несистемною пам'яттю в накладання cea608.
- GPU: Компіляція ядра для підтримки середовища виконання для CUDA 13.0 та виправлення D3D12 в кадруванні та деінтерлейсингу.
- Демультиплексування та контейнери: покращення в qtdemux (канали об'ємного звуку та продуктивність з GoPro), корекції в mpegtsmux/tsdemux для Opus, а також виправлення під час визначення контактних площадок в кінці потоку на кількох мультиплексорах.
- Мережа реального часу: нові корисні навантаження/завантажувачі для лінійного аудіо (L8, L16, L24), підтримка активності RTSP у режимах TCP/через чергування та численні виправлення в rtp/rtpbasepay2/rtpamrpay2.
- Продуктивність та затримка: покращення в спільний доступ до тем, швидкість відео та управління часовими позначками.
- Розробка та збірка: Переглянуто анотації gobject-introspection та оновлено Meson до версії 1.9.0 на Cerbero для сумісності з Xcode 26. Більше стабільності та менше витоків пам'яті.
Деталі виправлень та покращень у GStreamer 1.26.7
Субтитри та накладання CEA-608
Твір накладання cea608 отримує значне покращення: тепер він краще обробляє буфери, що надходять з несистемної пам'яті, що є поширеним явищем під час інтеграції акселераторів або зовнішніх джерел. Це зменшує незначні помилки під час змішування субтитрів з відео у складних конвеєрах. Результатом є більш передбачуване та надійне накладання. коли джерелом даних не є традиційна оперативна пам'ять.
Графічний процесор: CUDA та Direct3D 12
З боку NVIDIA, GStreamer 1.26.7 виправляє компіляцію ядер під час виконання за допомогою CUDA 13.0. Ця зміна є критично важливою для тих, хто генерує ядра динамічно або використовує ланцюгові фільтри, що залежать від компіляція під час виконання. Уникає збоїв та невдач у середовищах, які вже перейшли на найновіший інструментарій CUDA.
Для Windows, серверна частина D3D12 покращена за двома напрямками: підтримка метаданих обрізання в конвертері та керування наскрізним потоком у деінтерлейсері. На практиці це призводить до належного обрізання по всьому ланцюжку та деінтерлейсингу, який не заважає, коли цього не потрібно, уникаючи непотрібних витрат на обробку. Покращена візуальна узгодженість та продуктивність у конвеєрах Direct3D 12.
Джерела та синхронізація: fallbacksrc та inter
резервні копії включає покращення в управлінні джерелами та випромінює сигнал no-more-pads Для батьків, які не знають про потоки, сприяння оркестрації конвеєрів, які перемикають джерела залежно від їхньої доступності. Це спрощує проектування там, де є альтернативні входи. Менше «зв'язуючого» коду та надійніші зміни вихідного коду.
Стихія Між додає властивості для точного налаштування своїх внутрішніх підкомпонентів. Для розробників, які максимізують зв'язок між елементами через внутрішньоконвеєрні посилання, ця додаткова гранулярність дозволяє точно налаштувати поведінку без хаків. Більш детальний контроль над часом та буферизацією у розвинених топологіях.
Демультиплексування та контейнери
У світі MPEG-TS, mpegtsmux y tsdemux Вони виправляють аспекти, пов'язані з аудіо Opus, який, хоча й не є найкласичнішим TS-кодеком, все ж покращує продуктивність у сучасних потоках. Це зменшує артефакти, десинхронізації та нестабільну інтерпретацію потоків. Покращена сумісність Opus з TS.
Кілька мультиплексорів, таких як матроскамукс, tsmux, flvmux y cea608mux, вони виправляють вибір найкращої прокладки, коли виникає проблема EOS (Кінець потоку). Цей тип виправлення є критично важливим для чистого закриття файлів або потоків, уникаючи невідповідних заголовків або неповних трейлерів. Чистіші замикання потоків та правильні кінцеві файли.
RTP/RTSP: лінійний звук, keepalive та таймінг
Стек RTP отримує корисні навантаження та завантажувачі даних для лінійного аудіо L8, L16 та L24, форматів, дуже поширених у професійному середовищі, де важливі затримка та точність відтворення. Ці формати розширюють пряму сумісність без необхідності проміжних перетворень. Більша гнучкість для потокової передачі нестисненого аудіо.
rtpsrc Тепер надсилає повідомлення про підтримку зв'язку (keepalive) у режимах TCP/інтерлейвінгу, мінімізуючи розриви з'єднання через тайм-аути, коли є проксі-сервери, брандмауери або мережі, схильні до призупинення неактивних з'єднань. У середовищах моніторингу або віддаленого внеску цей захід практично необхідний. Більш стабільні RTSP-сесії в реальних мережах.
En rtpamrpay2 аспекти, пов'язані зі знаком якості кадру, виправлені, і в rtpbasepay2 Останній PTS використовується повторно, коли це можливо, що є практичним обхідним шляхом для обходу повідомлених проблем із кодером NVIDIA Jetson AV1. Це може здатися незначною деталлю, але вона безпосередньо впливає на часову безперервність потоку. Менше тремтіння та більш узгоджені часові позначки.
Таймінг та частота кадрів
Стихія швидкість відео Виправлено помилку, яка могла спрацьовувати при невідомій тривалості буфера в потоках зі змінною частотою кадрів. Ці умови, що виникають з «неоднорідними» камерами та джерелами, тепер краще обробляються. Більша толерантність до змінної частоти кадрів без збоїв.
Продуктивність: спільне використання потоків та затримка
Підсистема спільний доступ до тем Він отримав кілька покращень, спрямованих на підвищення затримки та стабільності. Спільне використання потоків між елементами зменшує накладні витрати, але вимагає точного налаштування балансу, щоб уникнути виникнення вузьких місць. Зміни включали точне налаштування цього балансу, з перевагами, особливо помітними у складних конвеєрах з низькою затримкою. Менше накладних витрат та швидша реакція в режимі реального часу.
Взаємодія та великі буфери: unixfd
Стенд unixfd Тепер обробляє буфери з великими корисними навантаженнями. Ця підтримка цінна під час підключення процесів через файлові дескриптори, що є поширеним явищем у багатопроцесорних архітектурах або при передачі кадрів між спеціалізованими компонентами. Велика мобільність даних без перебоїв.
Послуги редагування та анотацій
У сервісах редагування це було зроблено Хронологія GES поважати рішення відхилити сигнал SELECT_ELEMENT_TRACK, виправляючи шляхи, які спричиняли неочікувану поведінку та витоки пам'яті. Це налаштування забезпечує більш передбачуване нелінійне редагування, уникаючи "привидів" від звільнених елементів. Більш сумісний та без витоків графік.
Крім того, ноти відшліфовані. gobject-інтроспекція, які є основою для створення прив'язок до кількох мов. Завдяки точнішим анотаціям прив'язки є точнішими, що зменшує несподіванки під час розробки на Python, JavaScript або інших мовах. Більш надійні прив'язки завдяки краще описаній інтроспекції.
Конструкція та інструментарій: Cerberus та Meson
Система збірки Cerbero оновлює Meson до версії 1.9.0, забезпечуючи сумісність з Xcode 26. Це ключ до створення екосистемних SDK та бінарних файлів, тому її оновлення розблоковує сучасні збірки на macOS. Сучасні середовища збірки, менше труднощів у CI/CD.
Оновлення GStreamer 1.26.7 та доступні бінарні файли
Команда оголошує, що бінарні файли для Android, iOS, macOS та Windows будуть доступні «скоро», що спростить перехресне тестування та розгортання. Оскільки змін API/ABI немає, а версія 1.x стабільна, це підходяще оновлення навіть для консервативних циклів випуску. Зростання до 1.26.7, по суті, є торгівлею з низьким рівнем ризику..
Якщо ви використовуєте чутливі конвеєри (наприклад, з обладнанням NVIDIA Jetson або IP-камерами через RTSP), гарною ідеєю буде проводити перевірку на місці, особливо для змін часу (повторне використання PTS) та підтримки активності. Тим не менш, явною метою цього релізу було усунення помилок без зміни контрактної поведінки. Тестуйте та розгортайте з упевненістю після раунду контролю якості.
Належні практики та юридичні нотатки
Під час розповсюдження бінарних файлів або документації, будь ласка, пам’ятайте про звичайні правила використання торгових марок: як зазначено у використаних джерелах, назва та логотип Arch Linux є визнаними торговими марками, а використання торгової марки Linux® здійснюється за субліцензією від LMI, ексклюзивного ліцензіата Лінуса Торвальдса. Для GStreamer ліцензія LGPL та стабільність API/ABI серії 1.x полегшують розгортання в комерційних та безкоштовних продуктах. Дотримання ліцензій та торгових марок дозволяє уникнути головного болю в майбутньому..
Після огляду GStreamer 1.26.7 одне стає зрозумілим: це серйозна зупинка в технічному обслуговуванні, яка торкається критично важливих компонентів, не збиваючи нікого з колії, з особливим акцентом на стабільність мережі, контейнери та прискорення GPU. Для більшості проектів, заснованих на версії 1.26, перехід призведе до меншої кількості помилок, більш узгоджених конвеєрів та краще підготовленої основи для всього, що буде далі, і все це зі спокоєм стабільної гілки, яка поважає API/ABI та продовжує підтримувати свою екосистему інструментів та компіляції. Реліз, розроблений для кращої роботи сьогодні та подальшої роботи завтра..
