The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Доступен мультимедийный фреймворк GStreamer 1.22.0, opennews (?), 24-Янв-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


16. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от Аноним (12), 24-Янв-23, 17:52 
> Там просто бесконечное количество способов выстрелить себе в разные части тела

как в любом приложении где бесконечные выделение/освобождение памяти

> новые плагины они рекомендуют писать и сами пишут именно на Rust, ибо так проще и надежнее

по мне так gstreamer идеальный кандидат на переписывание, там все равно без нервов и веществ не разобраться

Ответить | Правка | Наверх | Cообщить модератору

21. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от НяшМяш (ok), 24-Янв-23, 18:06 
> как в любом приложении где бесконечные выделение/освобождение памяти

Не совсем про gstreamer, потому что при работе с мультимедией постоянно дёргать память это гарантированный способ убить производительность, особенно в каком-нибудь аудиопотоке. Выделить память и почистить её недалеко от места выделения проще, чем выделить память один раз - потому что гарантированно про неё забываешь.

Ответить | Правка | Наверх | Cообщить модератору

22. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от nazarpc (ok), 24-Янв-23, 18:13 
>> как в любом приложении где бесконечные выделение/освобождение памяти
> Не совсем про gstreamer, потому что при работе с мультимедией постоянно дёргать
> память это гарантированный способ убить производительность, особенно в каком-нибудь аудиопотоке.
> Выделить память и почистить её недалеко от места выделения проще, чем
> выделить память один раз - потому что гарантированно про неё забываешь.

Да, там много где zero copy, и от этого управлять памятью ещё сложнее. Выделение буферов и освобождение не обязательно рядом, плюс они переиспользуются по возможности. Короче говоря, всё достаточно сложно и в плане именно управления памятью там очень легко накосячить.

Ответить | Правка | Наверх | Cообщить модератору

23. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от nazarpc (ok), 24-Янв-23, 18:18 
>>> как в любом приложении где бесконечные выделение/освобождение памяти
>> Не совсем про gstreamer, потому что при работе с мультимедией постоянно дёргать
>> память это гарантированный способ убить производительность, особенно в каком-нибудь аудиопотоке.
>> Выделить память и почистить её недалеко от места выделения проще, чем
>> выделить память один раз - потому что гарантированно про неё забываешь.
> Да, там много где zero copy, и от этого управлять памятью ещё
> сложнее. Выделение буферов и освобождение не обязательно рядом, плюс они переиспользуются
> по возможности. Короче говоря, всё достаточно сложно и в плане именно
> управления памятью там очень легко накосячить.

Rust биндинги как раз позволяют четко понимать в какой буфер можно только смотреть, какой можно модифицировать, а над каким есть полное владение в данном контексте с автоматическим освобождением если его дропнуть. Не знаю кем нужно быть чтобы не видеть в этом ценности при разработке как плагинов, так и приложений.

Ответить | Правка | Наверх | Cообщить модератору

24. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от Аноним (12), 24-Янв-23, 18:21 
> Не совсем про gstreamer,

я бы сказал - в особенности Gstreamer

> при работе с мультимедией постоянно дёргать память это гарантированный способ убить производительность

интересно - как вы представляете работу с видео без аллокаторов и экспорта импорта dmabuf между плагинами, хотя я не про это - на этапе инициализации плагинов и разбора GstCaps просто сплошные выделения/освобождения буферов под результаты.

Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

47. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от НяшМяш (ok), 25-Янв-23, 11:15 
> интересно - как вы представляете работу с видео без аллокаторов и экспорта
> импорта dmabuf между плагинами, хотя я не про это - на
> этапе инициализации плагинов и разбора GstCaps просто сплошные выделения/освобождения
> буферов под результаты.

На этапе инициализации и выделяется\освобождается всё что надо. А вот при работе в рабочем потоке так делать не рекомендуется. Вообще не знаю GStreamer, но в том же эпловском CoreAudio и CoreVideo используются кольцевые буферы и прочие техники переиспользования существующей памяти для обеспечения высокой производительности и низкой задержки.

Ответить | Правка | Наверх | Cообщить модератору

51. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от Аноним (12), 25-Янв-23, 13:24 
> кольцевые буферы и прочие техники переиспользования существующей памяти для обеспечения высокой производительности

для высокой производительности используется zero copy, кольцевой буфер это или список буферов роли не играет

> На этапе инициализации и выделяется\освобождается всё что надо

в Gstreamer тоже самое, но в процессе работы конвеера нужен обмен данными - экспорт и импорт буферов между разными плагинами и это абстрагируется аллокаторами - даунстрим обработал данные -> сообщил апстриму -> буфер вернулся в пул свободных, инплейс (взял данные из буфера -> обработал -> сохранил результат в тот же буфер) можно выполнить только примитивные задачи, в общем случае на входе и на выходе буферы разных размеров и у каждого свой аллокатор - на входе импорт на выходе экспорт. Недавно столкнулся с некорректной работой аллокатора v4l2 в плагине deinterlace - у него на входе один черезстрочный кадр а на выходе два с прогрессивной разверткой и пока не знаю как победить ошибку - буферы на выходе возвращаются синхронно с входм а должны в 2 раза чаще, как результат нехватка бкферов на выходе и остановка конвеера.

Ответить | Правка | Наверх | Cообщить модератору

45. "Доступен мультимедийный фреймворк GStreamer 1.22.0"  +/
Сообщение от Аноним (-), 25-Янв-23, 08:06 
>по мне так gstreamer идеальный кандидат на переписывание,

Размечтался.

>там все равно без нервов и веществ не разобраться

Лучше занимайся своими быдло-приложениями. Gstreamer не трожь.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру