The OpenNET Project / Index page

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



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

"Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от opennews (?), 19-Апр-19, 22:43 
После более года разработки состоялся (https://lists.freedesktop.org/archives/gstreamer-devel/2019-...) релиз  GStreamer 1.16 (http://gstreamer.freedesktop.org/), написанного на языке Си кроссплатформенного набора компонентов для создания широкого спектра мультимедиа приложений, от медиаплееров и конвертеров аудио/видео файлов, до VoIP-приложений и систем потокового вещания. Код GStreamer распространяется под лицензией LGPLv2.1. Одновременно доступны обновления плагинов gst-plugins-base 1.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16, а также обвязка gst-libav 1.16 и сервер потокового вещания gst-rtsp-server 1.16. На уровне API и ABI новый выпуск обратно совместим с веткой 1.0. Бинарные сборки в скором времени будут подготовлены (http://gstreamer.freedesktop.org/download/) для Android, iOS, macOS и Windows (в Linux рекомендуется использовать пакеты из дистрибутива).


Ключевые улучшения (http://gstreamer.freedesktop.org/releases/1.16/) GStreamer 1.16:

-  В стек WebRTC добавлена поддержка P2P каналов данных, реализвоанных с использованием протокола SCTP, а также поддержка механизма BUNDLE (https://webrtcglossary.com/bundle/) для отправки разных типов мультимедийных данных в рамках  одного соединения и возможность работы с несколькими серверами TURN (расширение  STUN для обхода трансляторов адресов);
-  Добавлена поддержка видеокодека  AV1  в контейнерах  Matroska (MKV) и QuickTime/MP4. Реализованы дополнительные настройки AV1 и расширено число поддерживаемых кодировщиком форматов входных данных;
-  Добавлена поддержка скрытых субтитров (https://ru.wikipedia.org/wiki/%D0%A1%D0%...), а также возможность определения и извлечения из видео других видов интегрированных данных ANC (https://en.wikipedia.org/wiki/Ancillary_data) (Ancillary Data, дополнительная информация, такая как звук и метаданные, передаваемая через цифровые интерфейсы в неотображаемых частях строк развёртки);

-  Добавлена поддержка некодированного (raw) звука без чередования звуковых каналов в памяти (Non-Interleaved, левый и правый звуковые каналы размещаются в отдельных блоках, вместо чередования каналов в виде "LEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHT");
-  В базовый набор плагинов (gst-plugins-base) перемещены   GstVideoAggregator (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs...) (класс для смешивания raw-видео), compositor (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs...) (усовершенствованная замена videomixer)  и элементы OpenGL mixer (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), которые ранее размещались в наборе "gst-plugins-bad";


-  Добавлен новый режим (https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs...) чередования полей,  в котором каждый буфер обрабатывается как отдельное поле в чересстрочном видео c разделением верхнего и нижнего полей на уровне привязанных к буферу флагов;
-  В распаковщик медиаконтейнеров Matroska добавлена поддержка WebM и шифрования содержимого;

-  Добавлен новый элемент wpesrc, работающий как браузер на базе движка WebKit WPE (https://webkit.org/wpe/) (вывод браузера как источник данных);

-  Для Video4Linux обеспечена поддержка кодирования и декодирования HEVC, кодирования  JPEG и улучшенного импорта и экспорта dmabuf;
-  В декодировщик видео, использующий средства аппаратного ускоренная GPU NVIDIA, добавлена поддержка декодирования VP8/VP9, а в кодировщик поддержка аппаратно ускоренного кодирования H.265/HEVC;
-  Внесены многочисленные улучшения плагин msdk, позволяющий использовать средства аппаратного ускорения кодирования и декодирования на чипах Intel (основан на Intel Media SDK). В том числе добавлена поддержка импорта/экспора dmabuf, декодирования VP9, кодирования 10-разрядных HEVC, постобработки видео и динамического изменения разрешения;.

-  В систему отрисовки субтитров ASS/SSA добавлена поддержка обработки нескольких пересекающихся субтитров, одновременно отображаемых на экране;

-  Обеспечена полноценная поддержка сборочной системы Meson, которая теперь рекомендована для сборки GStreamer  на всех платформах. Удаление поддержки Autotools ожидается в следующей ветке;

-  В основной состав  GStreamer включены биндинги для разработки на языке Rust и модуль с плагинами на  Rust;
-  Проведена оптимизация производительности.

URL: https://lists.freedesktop.org/archives/gstreamer-devel/2019-...
Новость: https://www.opennet.me/opennews/art.shtml?num=50542

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

Оглавление

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


1. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –11 +/
Сообщение от пох (?), 19-Апр-19, 22:43 
не, ребята, зря стараетесь - мазила к вам не вернется, а больше вы вообще нафиг никому не упали.

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

6. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +5 +/
Сообщение от Аноним (6), 19-Апр-19, 23:04 
Да ладно, достаточно только того, что на него QtMultimedia завязан. Про потроха гнома даже говорить не будут.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

26. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Аноним (26), 20-Апр-19, 12:35 
>QtMultimedia завязан.

Не так уж он сильно на него завязан, что вполне может обходиться и без оного
[ebuild   R    ] dev-qt/qtmultimedia-5.11.3:5/5.11::gentoo  USE="alsa qml widgets -debug -gles2 -gstreamer -openal -pulseaudio -test" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

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

7. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Дон Ягон (?), 19-Апр-19, 23:33 
В условном арче с этой гадостью почти вся мультимедия собирается, которая в него хоть теоретически умеет. Благо, выпиливается достаточно легко. У меня, кажется, только с qt5 были какие-то сложности, но не сложно решаемые.
Так что про мозиллу, боюсь, преувеличение, к сожалению.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

8. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Дон Ягон (?), 19-Апр-19, 23:34 
s/преувеличение/преуменьшение/g
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

20. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –4 +/
Сообщение от пох (?), 20-Апр-19, 09:25 
> В условном арче с этой гадостью почти вся мультимедия собирается, которая в него хоть
> теоретически умеет.

"если бы еще и работала!"

хрюкать и тормозить-то, понятно, может. (ну и внезапно-исполнить пару куплетов песенки как код)

вот пока у мазилы без них вообще не было ни звука ни видео - оно жило себе неплохо. К счастью, мазиле надоело раньше, чем те смогли поддержку vaa.

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

43. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –1 +/
Сообщение от Zenitur (ok), 21-Апр-19, 06:10 
Я использую Gstreamer ровно для одного: кодирование видео с экрана при помощи Intel GPU. На ЛОРе публиковали патч для gstreamer-plugins-good, который значительно снижает использование CPU при этом. Правда, я не знаю, применяется ли он к новым версиям Gstreamer. Но к 1.2 - 1.8 точно
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Анонимс (?), 19-Апр-19, 22:43 
> Одновременно доступны обновления плагинов..., а также обвязка gst-libav 1.16

А почему не gst-ffmpeg? В чём сейчас отличие libav и ffmpeg друг от друга, кто у кого заимствует код?

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

5. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от asdasd (?), 19-Апр-19, 23:02 
ffmpeg у libav, ибо libav больно уж гордые.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

32. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Michael Shigorinemail (ok), 20-Апр-19, 15:22 
ffmpeg и пилит, и берёт; libav -- ну... в общем, я до сих пор считаю то, что в альте на какое-то время на него переходили, ошибкой, о чём и тогда майнтейнеру говорил ("эти дятлы из дебиана пусть сами мучаются, нам-то зачем?").  Клинический пример недружественного и не слишком компетентного форка, увы.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

35. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –2 +/
Сообщение от проще на поворотах (?), 20-Апр-19, 17:13 
Дятлы из дебиана? Где дебиан а где альт? Клювом не ударился об дерево?
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +4 +/
Сообщение от Ретроград (?), 20-Апр-19, 18:00 
Те, кто перекатывал дебиан на libav - самые настоящие дятлы. Того же уровня, что и системдфанатики, саботировавшие голосование по init до тех пор, пока не выпал удобный для них шанс. То, что дебиан - крупный и уважаемый проект не отменяет того факта, что часть из его мейнтейнеров - дятлы.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

37. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +3 +/
Сообщение от Michael Shigorinemail (ok), 20-Апр-19, 18:06 
> Дятлы из дебиана?

Да, дятлы из дебиана.

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

4. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Анонимс (?), 19-Апр-19, 22:54 
> В основной состав GStreamer включены биндинги для разработки на языке Rust и модуль с плагинами на Rust;

Сначала модуль на rust, а потом и весь gstreamer захотят переписать на rust, тихая и незаметная экспансия, ишь чего удумали.

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

10. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от GentooBoy (ok), 20-Апр-19, 00:50 
Не будет этого, это не го. Биндингов достаточно что бы работать, а переписывать смысла нет что и так работает.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

17. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Аноним (17), 20-Апр-19, 06:16 
>а переписывать смысла нет что и так работает  

вообще-то есть. Gstreamer формально написан на C, но на самом деле там куча объектных оберток и велосипедов для реализации интерфейсов, атомного подсчета ссылок, автоматического освобождения памяти, и т.п. Переписывание на язык, в котором все это есть прямо в стандартной библиотеке, позволит выкинуть на мороз кучу кода. А чем меньше кода, тем меньше багов.

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

21. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от пох (?), 20-Апр-19, 09:26 
> Не будет этого, это не го. Биндингов достаточно что бы работать, а
> переписывать смысла нет что и так работает.

это если бы оно работало хорошо. Ну а так - возможно, от переписывания хуже не станет.

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

9. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +8 +/
Сообщение от Аноним (9), 20-Апр-19, 00:03 
Не троллинга ради, может кто объяснить, почему вы так старательно боретесь с gstreamer?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Дон Ягон (?), 20-Апр-19, 03:19 
А зачем он нужен, когда есть ffmpeg?
Тем более что в и около gstreamer постоянно находят какие-то проблемы с безопасностью.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Аноним (13), 20-Апр-19, 03:37 
Зачем нужен ффмпег? У тебя приложения используют ффмпег?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

29. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Дон Ягон (?), 20-Апр-19, 15:10 
Для кодирования/декодирования всякой мультимедии.
Самому мне по работе не приходится писать ничего с этим связанного, поэтому программы, использующие ffmpeg (или gstreamer) я не писал.
Из того, чем я пользуюсь, ffmpeg ипользует как минимум mpv, palemoon, который я ранее использовал, тоже, ЕМПНИП, умел собираться с ffmpeg. Я, правда, всегда собирал без (да просит меня мунчайлд) - смотреть видео в браузере - это харам.
Ещё по работе приходилось видеть ПО (проприетарное), использующее ffmpeg. Насколько я знаю, вопрос про использование gstreamer вместо даже не стоял.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

31. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Michael Shigorinemail (ok), 20-Апр-19, 15:18 
Справедливости ради, по всему мультимедийному стеку что-то сходу не припомню djb-style библиотек.

PS: "ну вот, только собрал 1.15.90!" (правда, на e2k ;-)
PPS: ага, тем временем майнтейнер 1.16.0 обеспечил: https://packages.altlinux.org/ru/sisyphus/srpms/gstreamer1.0...

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

34. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Дон Ягон (?), 20-Апр-19, 16:54 
> Справедливости ради, по всему мультимедийному стеку что-то сходу не припомню djb-style библиотек.

Ну да, в ffmpeg тоже дыры были, и не раз и не два. Но, ИМХО, ситуация с gstreamer и его плагинами в этом плане намного хуже. Тем более, что там есть плагин и для ffmpeg, т.е. его дыры приплюсовываются в ряде ситуаций)

> правда, на e2k ;-)

Раз уж зашла речь: слушал вчера лекцию МЦСТ, некоторые новости о прогрессе удивили и порадовали. Респект. Жаль там только пока один лишь богомерзкий линукс из опенсорсных ОС. Надеюсь, когда-нибудь это тоже изменится в лучшую сторону.

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

38. "(offtopic) ...на e2k"  +/
Сообщение от Michael Shigorinemail (ok), 20-Апр-19, 18:11 
>> правда, на e2k ;-)
> Раз уж зашла речь: слушал вчера лекцию МЦСТ

Которую из?  Просто в четверг как раз была по оптимизации.

> Жаль там только пока один лишь богомерзкий линукс из опенсорсных
> ОС. Надеюсь, когда-нибудь это тоже изменится в лучшую сторону.

Гм, а это что?

http://www.kpda.ru/products/elbrus/ (QNX же вроде?)
http://habr.com/ru/company/embox/ (конкретно две верхние на сейчас статьи)

Вот фряшники регулярно ноют в кАментах у Горшенина, ага.  Приходится показывать на ми-минор-коробку и говорить: "а вот они взяли и сделали".

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

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

39. "(offtopic) ...на e2k"  +/
Сообщение от Дон Ягон (?), 20-Апр-19, 18:22 
> Которую из?  Просто в четверг как раз была по оптимизации.

Пятничную.

>> Жаль там только пока один лишь богомерзкий линукс из опенсорсных ОС. Надеюсь, когда-нибудь это тоже изменится в лучшую сторону.
> Гм, а это что?
> http://www.kpda.ru/products/elbrus/ (QNX же вроде?)
> http://habr.com/ru/company/embox/ (конкретно две верхние на сейчас статьи)

Не знал, что QNX опенсорсный. Ну ок.

> Вот фряшники регулярно ноют в кАментах у Горшенина, ага.  Приходится показывать на ми-минор-коробку и говорить: "а вот они взяли и сделали".

Показывать на что?
Промышленной необходимости у меня нет, да и квалификации не хватит. Хотя планирую развивать свои умения в подобном направлении.
Короче, я просто ещё раз поныл про закрытую архитектуру, понятно, что под NDA/за деньги всякое можно.

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

Я, в общем-то, понимаю почему выбор именно такой. И согласен, что он если и не лучший, то точно весьма и весьма адекватный. См. выше про нытьё, короче.

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

40. "(offtopic) ...на e2k"  +/
Сообщение от Michael Shigorinemail (ok), 20-Апр-19, 18:51 
>> Которую из?  Просто в четверг как раз была по оптимизации.
> Пятничную.

В другом месте работаю. :)

> Не знал, что QNX опенсорсный. Ну ок.

Ой, и впрямь промахнулся.

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

41. "(offtopic) ...на e2k"  –1 +/
Сообщение от Дон Ягон (?), 20-Апр-19, 20:19 
>> Не знал, что QNX опенсорсный. Ну ок.
> Ой, и впрямь промахнулся.

Т.е. всё-таки нет - теперь и я проверил. Сначала не проверял - удивился, ну мало ли, вдруг открыли.

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

42. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –1 +/
Сообщение от pripolz (?), 20-Апр-19, 21:30 
> Тем более, что там есть плагин и для ffmpeg, т.е. его дыры приплюсовываются в ряде ситуаций)

а ты умён

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

15. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +7 +/
Сообщение от Аноним (15), 20-Апр-19, 04:22 
Я с ним не борюсь, но на всех, кто его использует в разработке, косо смотрю с подозрением. Мне нужно было доделать программу, чтобы она могла:
1. Захватывать rtsp потоки с нескольких камер.
2. Выводить их на экран.
3. Сохранять их в файлы.
4. Иногда сохранять текущие кадры как jpeg.
Всё это должно работать круглосуточно и почти автономно. Суть GStreamer: создаёшь pipeline который содержит все необходимые операции, запускаешь его и он всё делает(плодит потоки, передаёт между ними данные...). В теории, выполнение pipeline завершается успехом или ошибкой(единственный вариант для непрерывной работы). При ошибках его перезапускаем и всё шоколадно...
Боль и страдания в реальности:
1. Ошибка в любом элементе pipeline роняет его весь. Происходит ошибка при сохранении в файлы, работать не будет и вывод на экран, пока причина ошибки не будет устранена. Нет смысла перезапускать, если ошибка немедленно повторяется.
2. Сообщение об ошибках бывают загадочны. Моё любимое: "some element failed to post a proper error message with the reason for the failure."
3. Самое чудесное, что pipeline может зависнуть. Наивно думать, что можно сделать ему стоп/старт. В большинстве случаев сработает, конечно, а в меньшинстве получим ошибку из пункта 2.
После недель страданий с GStreamer, сделал за примерно 4 дня на ffmpeg.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

33. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Аноним (33), 20-Апр-19, 16:29 
Могу примерно такие же ощущения рассказать с точки зрения пользователя. Лет семь назад пытался использовать следующий набор вещей: rtsp, камеры, мультикаст вещание, бродкаст вещание. Что-то удалось собрать только на основе ffmpeg, и частично vlc. Всё остальное увы, или сразу рушилось, или рушилось в течение нескольких минут. Вариант решение был только рестарт всего этого набора костылей. После этого на всё gstreamerовое смотрю очень плохо.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

46. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Ян Злобин (ok), 22-Апр-19, 08:16 
> Ошибка в любом элементе pipeline роняет его весь...
> Сообщение об ошибках бывают загадочны...

Неосиляторы не осилили документацию. Так это называется.

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

49. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Аноним (49), 22-Апр-19, 14:07 
Так почему же вы не процитировали, что в документации написано про зависший pipeline, который нельзя остановить? Многим людям могли бы помочь и с легкостью разбить мой основной аргумент. Ну и метод определения причины "some element failed..." тоже можно процитировать. Или ваш пост - простое газирование лужи?
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

50. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Ян Злобин (ok), 22-Апр-19, 17:37 
> Так почему же вы не процитировали, что в документации написано про зависший pipeline...

Наверное, потому, что таких случаев может быть не один, а одного универсального решения на все случаи жизни не существует.

> Многим людям могли бы помочь и с легкостью разбить мой основной аргумент.

Обычно те, кто занят делом, не вступают в дискуссии, где требуется телепат. GStreamer - низкоуровневая штука, оперирующая буферами и своими собственными аллокаторами, со всеми вытекающими - надо сначала читать документацию, а потом что-то делать. Не нравится инструмент - не пользуйтесь.

> Ну и метод определения причины "some element failed..." тоже можно процитировать.

Обычно это случается из-за разсинхронизации элементов, но есть и много других вариантов. Если нет желания читать про синхронизацию элементов внутри pipeline и прочие низкоуровневые штуки, есть куча разных bin, автоматизирующих работу с буферами и связями элементов между собой. Кроме того, есть разного рода события, на которые можно реагировать и смотреть что именно происходит.

> Или ваш пост - простое газирование лужи?

Вы серьёзно ждёте реальных ответов после таких вопросов???


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

53. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Аноним (49), 22-Апр-19, 22:43 
> Обычно те, кто занят делом, не вступают в дискуссии, где требуется телепат.

А дела как-то не ощущаются, только трёп, что в документации всё есть. Столько текста настрочили, а метод решения возникающих проблем не привели. Вместо преодоления трудностей, я выбрал инструмент без них. В первый момент выбора я испугался ffmpeg, поскольку у него просто нет документации для программиста, кроме автосгенеренной по комментариям в коде. Но мне хватило двух примеров использования, которые идут в комплекте, и немного гугла. Если возникнет сложная задача, не покрываемая примерами, то и с ffmpeg у меня будут проблемы. Но простая задача на нём имела простое решение.

Мне без разницы, кто чем пользуется, и я сваливаю. Но раз вы такой практик и человек дела, то для других людей можете привести свой опыт, где gstreamer показал себя лучше чем ffmpeg?

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

54. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Ян Злобин (ok), 23-Апр-19, 04:58 
> Вместо преодоления трудностей, я выбрал инструмент без них.

О чём, собственно, я и говорил.


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

51. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Ян Злобин (ok), 22-Апр-19, 17:42 
На сайте производителя есть специальная статья Application Development Manual (Read this first). В скобках для тех, кто не знает, куда смотреть.

Вот хорошая цитата из офицтального FAQ:

Q: I'm considering adding GStreamer output to my application...

A: That doesn't really make sense. GStreamer is not a sound server, so you don't output directly to GStreamer, and it's not an intermediate API between audio data and different kinds of audio sinks. It is a fundamental design decision to use GStreamer in your application; there are no easy ways of somehow 'transfering' data from your app to GStreamer (well, there are of course, but they would be reserved for special use cases). Instead, your application would have to use or implement a number of GStreamer elements, string them together, and tell them to run. In that manner the data would all be internal to the GStreamer pipeline.

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

52. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Ян Злобин (ok), 22-Апр-19, 17:45 
Preliminary reading

In order to understand this manual, you need to have a basic understanding of the C language.

Since GStreamer adheres to the GObject programming model, this guide also assumes that you understand the basics of GObject and glib programming. Especially,

    GObject instantiation

    GObject properties (set/get)

    GObject casting

    GObject referencing/dereferencing

    glib memory management

    glib signals and callbacks

    glib main loop

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

56. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –1 +/
Сообщение от пох (?), 23-Апр-19, 12:28 
осилятор документации рассказывает программисту, как чтение приводит к просветлению и чудесному избавлению от зависаний (чужого багнутого) кода.
Сыр, масло, холст.

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

24. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +4 +/
Сообщение от sage (??), 20-Апр-19, 11:13 
Gstreamer по функциональности очень гибкий, но непонятно, как его правильно использовать во многих ситуациях, и его хрен отладишь.
В примерах описываются только простые случаи использования, типа построили pipeline, запустили его, он закончился, завершаем программу. Как правильно перестраивать пайплайн, когда нужно, чтобы один файл за другим играл, как получать метаданные потока, как правильно уничтожать элементы — всё приходится выяснять самостоятельно, методом проб и ошибок, и не факт, что вы делаете это 100% правильно.

Пайплайн запускается, но ничего не происходит? Stalled pipeline — типичная проблема gstreamer. Как правильно исправлять, или хотя бы отлаживать — непонятно. Нужно кодировать видео через x264? Строишь пайплайн, запускаешь, иногда работает, иногда нет. Почему? Потому, что входной буфер уже содержит много данных, и больше не хочет грузить, а x264 еще не выдал ни одного кадра, т.к. хочет больше данных для эффективной работы.

https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gs...
>Some settings, including the default settings, may lead to quite some latency (i.e. frame buffering) in the encoder. This may cause problems with pipeline stalling in non-trivial pipelines, because the encoder latency is often considerably higher than the default size of a simple queue element. Such problems are caused by one of the queues in the other non-x264enc streams/branches filling up and blocking upstream. They can be fixed by relaxing the default time/size/buffer limits on the queue elements in the non-x264 branches, or using a (single) multiqueue element for all branches. Also see the last example below. You can also work around this problem by setting the tune=zerolatency property, but this will affect overall encoding quality so may not be appropriate for your use case.

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

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

30. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Дон Ягон (?), 20-Апр-19, 15:14 
> Gstreamer по функциональности очень гибкий

Ага, такой гибкий, что из рук выскальзывает.

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

Это называется "оверинжиниринг".

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

47. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –1 +/
Сообщение от Ян Злобин (ok), 22-Апр-19, 08:18 
> Как правильно исправлять, или хотя бы отлаживать — непонятно...
> ...из-за отсутствия нормальных примеров комплексного использования и внятной документации...

Ещё один документацию не нашёл. Её навалом, вместе с примерами кода и статьями с объяснениями конкретных моментов.  И это всё на сайте производителя.

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

28. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Аноним (-), 20-Апр-19, 14:48 
потому что это системд от мира мультимедиа фреймворков
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

45. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –2 +/
Сообщение от пох (?), 21-Апр-19, 19:17 
вы перепутали, это гном ;-)
Причем гнома-то, что характерно, ни разу и не жалко.

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

57. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Тузя (ok), 23-Апр-19, 15:22 
Потому что это сложный фреймворк. А дураку всё что сложно, всё плохо.

Когда я последний раз трогал GStreamer структура его работы мне сильно-сильно напоминала DirectShow с тем лишь отличием, что не определяет высокоуровневое API над физическими устройствами. Имхо, зря, если бы взял на себя ответственность его определять еще в конце 90-х, никакой пульсы бы не было и в помине, но тогда бы он совсем бы превратился бы в DirectShow по уровню монструозности, и ненависти дураков было бы сравнимое количество с вендовой реальностью. Phonon - это просто NIH от KDE, мне не понятен его смысл существования, сейчас это хотябы крестовая обвязка в Qt, а до этого... С ffmpeg и прочими vlc сравнивать бессмысленно, совсем разный круг задач.

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

11. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –5 +/
Сообщение от Дуплик (ok), 20-Апр-19, 02:27 
Особенно смешон тот факт, что GStreamer (GNOME Streamer) используют KDE'шники и Qt-разработчики.

Без GNOME'овских технологий и шагу ступить не могут, при этом хейтят GNOME. Лицемерные.

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

16. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +4 +/
Сообщение от anonymous (??), 20-Апр-19, 05:55 
А glibc - это Gnome Libc?
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

18. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Аноним (17), 20-Апр-19, 06:18 
glibc - конечно нет. А вот Glib и прочие GObject - таки да.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +7 +/
Сообщение от Аноним (19), 20-Апр-19, 08:05 
Дуплик, проснись, ты обоср^W^W^W ты путаешь пользователей и разработчиков. Разработчикам без разницы, гномовское оно или нет.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

27. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +3 +/
Сообщение от Аноним (26), 20-Апр-19, 12:41 
Дуплик, не звезди, основной рекомендуемый мейнстримом KDE бекенд для мультимедиа Phonon-VLC.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

55. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от iPony (?), 23-Апр-19, 07:35 
Это да, но

> Upstream prefers VLC but prominent Linux distributions (Kubuntu and Fedora-KDE for example) prefer GStreamer because that allows them to easily leave out patented MPEG codecs from the default installation

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

14. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  –1 +/
Сообщение от Аноним (13), 20-Апр-19, 03:42 
Плеер прикольный на этом фреймворке, gst123 называется. Чистый минимализм )
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от пох (?), 20-Апр-19, 09:44 
> Плеер прикольный на этом фреймворке, gst123 называется. Чистый минимализм )

угу, самокат с движком в виде небольшого комплекса зданий площадью в двадцать квадратных километров, где располагаются термоядерный реактор и системы его запуска. Чистый минимализм.

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

23. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от J.L. (?), 20-Апр-19, 10:17 
>> Плеер прикольный на этом фреймворке, gst123 называется. Чистый минимализм )
> угу, самокат с движком в виде небольшого комплекса зданий площадью в двадцать
> квадратных километров, где располагаются термоядерный реактор и системы его запуска. Чистый минимализм.

но если от этого движка запитаны все самокаты и билазы в системе, то норм

или речь о том что оно при работе жрёт как турбина?

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

44. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +2 +/
Сообщение от пох (?), 21-Апр-19, 14:08 
оно установлено на бетонном фундаменте, обнесено слоями биологической защиты, и электроэнергию покамест не вырабатывает, а жрьот - зато гигаваттами.
Поэтому самокаты покамест ездют не очень далеко и не очень быстро, но это, конечно же, временно, мы работаем над этой проблемой ;-)

При этом те что состояли из пары колес и платформы с рулем давным-давно исчезли за горизонтом, но они неправильные и мы с теми ребятами дружить не будем.

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

48. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +1 +/
Сообщение от Аноним (48), 22-Апр-19, 09:39 
Отличная штука. Запилил с его помощью видеонаблюдение: CPU 5-8 -летней давности нагружен на 2% для одной камеры. В итоге, сервак, который можно было только выбросить (Opteron 2352) легко тащит 100 камер: запись на диск и онлайн просмотр.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

58. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от gst_man (?), 23-Апр-19, 16:30 
Присоединяюсь. Решал подобную задачу. Пришлось, конечно, повозиться, но результат того стоил
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

59. "Доступен мультимедийный фреймворк GStreamer 1.16.0 "  +/
Сообщение от Michael Shigorinemail (ok), 23-Апр-19, 16:47 
> Присоединяюсь. Решал подобную задачу. Пришлось, конечно, повозиться,
> но результат того стоил

Не пробовали причесать и выложить результат?  Глядишь, уже второй бы нашёл и чего доработал, что пригодилось бы впоследствии и первому.

Вот знакомый как сделал:
https://packages.altlinux.org/ru/p8/srpms/vargus
https://packages.altlinux.org/ru/p8/srpms/vargus-viewer

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

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

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




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

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