Состоялся (https://lists.freedesktop.org/archives/gstreamer-devel/2016-...) релиз GStreamer 1.8 (http://gstreamer.freedesktop.org/), написанного на языке Си кроссплатформенного набора компонентов для создания широкого спектра мультимедиа приложений, от медиаплееров и конвертеров аудио/видео файлов, до VoIP-приложений и систем потокового вещания. Код GStreamer распространяется под лицензией LGPLv2.1. Одновременно доступны обновления плагинов gst-plugins-base 1.8, gst-plugins-good 1.8, gst-plugins-bad 1.8, gst-plugins-ugly 1.8, а также обвязка gst-libav 1.8 и сервер потокового вещания gst-rtsp-server 1.8. На уровне API и ABI новый выпуск обратно совместим с веткой 1.0. Бинарные сборки в скором времени будут подготовлены (http://gstreamer.freedesktop.org/download/) для Android, iOS, OS X и Windows (в Linux рекомендуется использовать пакеты из дистрибутива).
Ключевые улучшения (http://gstreamer.freedesktop.org/releases/1.8/) GStreamer 1.8:- Начальная поддержка (http://ystreet00.blogspot.ru/2016/02/vulkan-in-gstreamer.html) графического API Vulkan (https://www.opennet.dev/opennews/art.shtml?num=43887);
- Улучшение поддержки аудеокодека Opus: возможность использования более двух каналов, обработка Opus в MPEG-TS demuxer/muxer, кодирование/декодирование/перекодирование с контейнерами Ogg, Matroska, ISOBMFF (Quicktime/MP4) и MPEG-TS, добавление в библиотеку pbutils функций для доступа к заголовкам. Элементы кодировщика/декодировщика Opus перенесены из gst-plugins-bad в основной набор gst-plugins-base.- В состав основного проекта GStreamer вошёл модуль (http://cgit.freedesktop.org/gstreamer/gstreamer-vaapi/) для работы с VAAPI, который отныне будет выпускаться и поддерживаться вместе с другими базовыми модулями;
- Поддержка аппаратного декодирования видео на платформе Android;
- Возможность захвата видео на платформе Android через API android.hardware.Camera;
- Поддержка обратного воспроизведения форматов Windows Media (ASF/WMV/WMA);
- Новая система трассировки, предоставляющая более глубокие возможности для отладки;
- Новый высокоуровневый API для управлением воспроизведением через компонент GstPlayer.Среди базовых возможностей GStreamer
:
- Локальное проигрывание контента, обработка потокового вещания и проигрывание DVD;- Поддерживаемые видеокодеки: Theora, VP8, VP9, Dirac, MJPEG, h.264, h.265, h.263, MPEG2, MPEG4, WMV/VC1 и т.д.
- Поддерживаемые аудиокодеки: Vorbis, FLAC, Speex, WavPack, AAC, MP3, WMA, Dolby Digital (AC3), DTS/DCA, AMR NB/WB и т.д.
- Поддерживаемые мультимедиа контейнеры: Ogg, WebM, Matroska, MP4, Quicktime, AVI, FLV, 3GPP, WAV, Real Media, ASF, MPEG PS/TS и т.д.
- Поддерживаемые протоколы: работа с локальными файлами, HTTP, Shoutcast/Icecast, HLS, RTSP, RTP и MMS;
- Интеграция с тулкитами для формирования GUI-интерфейса (GTK+ (http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+5...), Clutter (http://docs.gstreamer.com/display/GstSDK/Basic+tutorial+15...));
- Автоматическое определение контейнеров и кодеков;
- Функции извлечения метаданных;
- Поддержка субтитров;
- Средства для наглядной визуализации звукового потока;
- Поддержка переключения на лету между разными потоками со звуком и субтитрами;
- Перемещение внутри потока по абсолютной позиции;
- Режимы замедления и ускорения воспроизведения, перемотки в обратном порядке и покадрового просмотра;
- Автоматическое устранение чересстрочности (деинтерлейсинг), масштабирование и установка цветового баланса;
- Поддержка проброса сжатого звука;
- Поддержка функций рендеринга текстур библиотеки Clutter.
URL: https://lists.freedesktop.org/archives/gstreamer-devel/2016-...
Новость: http://www.opennet.dev/opennews/art.shtml?num=44107
>>Поддержка обратного воспроизведения форматов Windows Media
>обратного воспроизведенияТеперь я знаю что значит фраза "Сделайте мне это развидеть":)
>На уровне API и ABI новый выпуск обратно совместим с веткой 1.0
Пф-ф-ф! Отлично. Значит всё просто офигенно. Немного дополнительных плюшек и совершенно бесплатно.
А что такого, показ видео задом наперёд вполне прикольная фича.
ММ, а зачем вы смотрите порно задом наперёд?
> ММ, а зачем вы смотрите порно задом наперёд?Вы путайте, для порно режим покадрового просмотра :)
ага, свою свадьбу смотреть =))
Поздравляю анонимов, теперь у каждого будет свой личный проигрыватель под андроид!
> вошёл модуль для работы с VAAPIА VDPAU уже было прикручено? Или как?
Никто же не запрещает поставить vdpau бэкенд для libva?
# dnf install libva-vdpau-driverИ все?
Что настраивать нужно и где, чтоб через libva работало?
Не для всех драйверов будет работать. Возможно понадобится делать export LIBVA_DRIVER_NAME=vdpau
Вообще, так себе работает, в том же фаерфоксе. Лучше бы сделали полноценную поддержку VDPAU.
А это что такое:$ gst-inspect-1.0 vdpau
Plugin Details:
Name vdpau
Description Various elements utilizing VDPAU
Filename /usr/lib64/gstreamer-1.0/libgstvdpau.so
Version 1.4.5
License LGPL
Source module gst-plugins-bad
Source release date 2014-12-18
Binary package GStreamer
Origin URL http://gstreamer.net/vdpaumpegdec: VDPAU Mpeg Decoder
1 features:
+-- 1 elements
% glxinfo -B
name of display: unix:0.0
display: unix:0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: X.Org (0x1002)
Device: AMD RS880 (DRM 2.29.0, LLVM 3.7.1) (0x9710)
Version: 11.1.2
Accelerated: yes
Video memory: 512MB
Unified memory: no
Preferred profile: compat (0x2)
Max core profile version: 0.0
Max compat profile version: 2.1
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 2.0
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD RS880 (DRM 2.29.0, LLVM 3.7.1)
OpenGL version string: 2.1 Mesa 11.1.2
OpenGL shading language version string: 1.30OpenGL ES profile version string: OpenGL ES 2.0 Mesa 11.1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16% vdpauinfo
display: unix:0.0 screen: 0
Failed to open VDPAU backend Shared object "libvdpau_r600.so" not found, required by "vdpauinfo"
Error creating VDPAU device: 1Так и нет ускорения видео через OpenGL.
> % vdpauinfo
> display: unix:0.0 screen: 0
> Failed to open VDPAU backend Shared object "libvdpau_r600.so" not found, required by
> "vdpauinfo"
> Error creating VDPAU device: 1
> Так и нет ускорения видео через OpenGL.dpkg -S /usr/lib/x86_64-linux-gnu/vdpau/libvdpau_r600.so
mesa-vdpau-drivers:amd64
вроде работало что-то, но я в этом не оч разбираюсь
и это хорошо.
Ну вот, а в Hackeurs Sans Frontieres пришлось отключать плагин VAAPI. Ждём 0.9.1?
Хррр... в 0.9.0 ещё версия gst 1.6.3, но https://github.com/v-fox/live_opensuse_hsf/issues/21 - если кто знает как ему запретить автозагрузку (например, вручную вписав в blacklist плагинов) - пишите. Иначе придётся делать свой подрезанный пакет gstreamer-plugins-base.
Недавно в openSUSE как раз реализовали автоматическое включение поддержки костыля для vaapi в Mesa. Теперь вместе с автоматической подгрузкой этой штуки вероятны неведомые глюки.
теперь заживем?
Вот не понимаю, сколько не читал о них.
Объясните мне пожалуйста, по-подробнее, кто в теме, эти вещи.
1 Чем функционально отличается GStreamer от FFmpeg (и возможно от SDL)?
2 Я читал, что GStreamer это набор мультимедийных компонентов, как я понимаю, набор кодеков, что представляет себя FFmpeg, это лишь разновидность мультимедийного компонента, но SDL тогда тоже является набором мультимедийных компонентов, или я чего-то не понимаю?
3 Зачем нужен GStreamer, если есть FFmpeg и SDL? Чем он незаменим?
Зачем нужен Windows, если есть Linux? А Mac OS X?
Ваша аналогия не выдерживает критики.
ffmpeg - это набор библиотек и программ для работы с мультимедиа.gstreamer - это библиотека-переросток для обработки мультимедиа-данных, которая предоставляет объектно-ориентированный API (GObject)
SDL - набор библиотек для ввода-вывода данных периферии (экран, аудиосистема, клавиатура и т.п.).
То есть ffmpeg это готовые библиотеки и программы для работы с мультимедиа, а gstreamer это средство, или даже фреймвёрк, с помощью которого можно написать функционал, аналогичный ffmpeg-у?
И при желании если от программы просто требуется воспроизвести/сохранить/обработать аудио/видео то вполне можно воспользоваться готовыми библиотеками ffmpeg?
Я правильно понял?
Неправильно. ffmpeg для декодирования и простейших вещей, достаточно низкоуровневая вещь. gstreamer позволяет из простых элементов, вроде кодеков, рендеров, фильтров и источников составлять сложные приложения, в том числе может использовать кодеки ффмпег. В документации gstreamer все написано, что это и для чего нужно. На голом ffmpeg никто практически не пишет, это сложно, весь софт: firefox, кеды, плееры используют gstreamer для мультимедиа.
из фурифокса выкинули gstreamer в пользу ffmpeg
Чушь сказал, в фурифоксе 45 гстимер 1.0. ffmpeg используется гстримером для декодирования через gstreamer-libav.
Не чушь, естественно выкидывание - это не "раз и нету"
gstreamer объявлен как deprecated
>выкинули
>естественно выкидывание - это не "раз и нету"Ясно.
>gstreamer объявлен как deprecated
Где написано?
https://bugzilla.mozilla.org/show_bug.cgi?id=1234092Bug 1234092 - Remove gstreamer support
status-firefox43: wontfix
status-firefox44: affected
status-firefox45: affected
status-firefox46: fixed
Я понимаю, что ты крутой труе, поэтому сразу цитату разработчика приведу, чтоб не перетрудился от поиска.> At some stage we will remove gstreamer support completely. but at this stage in > 43 it's not used at all ; so not point disabling it. Plus that allows people to not have to install ffmpeg.
> весь софт ... плееры используют gstreamer для мультимедиаНу и к плеерам слово 'весь' не применимо.
Например, то что я использую: XBMC, VLC, mplayer, mpv, deadbeef, audacious - не используют gstreamer
Ну можно и руками писать, конечно, никто не запрещает. В дедбифе вроде даже fft руками написано. Это от разраба зависит. Но из всех медиафреймворков на гнулинукс gstreamer -- самый высокоуровневый, но при этом очень гибкий.
Я так и понял, что ты фанатик. Бывает...
> То есть ffmpeg это готовые библиотеки и программы для работы с мультимедиа, а gstreamer это средство, или даже фреймвёрк, с помощью которого можно написать функционал, аналогичный ffmpeg-у?Не нужно путать набор библиотек ffmpeg и одноименную утилиту ffmpeg.
аналогичный утилите ffmpeg функционал можно получить командой gst-launch-1.0:gst-launch-1.0 videotestsrc num-buffers=250 \
! 'video/x-raw,format=(string)I420,width=320,height=240,framerate=(fraction)25/1' \
! xvidenc ! queue ! mux. \
audiotestsrc num-buffers=440 ! audioconvert ! 'audio/x-raw,rate=44100,channels=2' \
! lame ! queue ! mux. \
avimux name=mux ! filesink location=test.aviОсновное отличие, это завязка комбайна gstreamer на gobject, а ffmpeg это своя легковесная модульная реализация библиотек и утилит, не привязанная к чему-либо.
Портирован FreeBSD - http://www.freshports.org/multimedia/gstreamer1/