GStreamer - это библиотека с открытым исходным кодом, сложная часть программного обеспечения, которая выступает в качестве мультимедийной основы для многочисленных операционных систем GNU / Linux, а также Android, OpenBSD, Mac OS X, Microsoft Windows, и Symbian OS.
Особенности с первого взгляда
Ключевые функции включают в себя обширную базовую библиотеку, интеллектуальную архитектуру плагинов, расширенный охват мультимедийных технологий, а также обширные средства разработки, поэтому вы можете легко добавить поддержку GStreamer в свои приложения.
Это основной мультимедийный бэкэнд для широкого спектра проектов с открытым исходным кодом, бушующих из приложений воспроизведения аудио и видео, таких как Totem (видео) из среды рабочего стола GNOME и сложных видео и аудиоредакторов.
Кроме того, программное обеспечение обладает очень высокой производительностью и низкой задержкой благодаря своей чрезвычайно легкой технологии передачи данных, а также глобальной синхронизации между потоками (аудио / видео) посредством синхронизации.
Состоит из нескольких пакетов кодеков
Проект состоит из нескольких различных пакетов, также известных как пакеты кода, которые можно легко установить на любой дистрибутив GNU / Linux из своих репозиториев программного обеспечения по умолчанию сразу или отдельно. Они выглядят следующим образом: база плагинов GStreamer, плагины GStreamer Хорошо, плагины GStreamer Bad и плагины GStreamer Ugly.
GStreamer - это компактная базовая библиотека, которая позволяет создавать случайные структуры pipleline благодаря своей основанной на графике структуре на основе библиотеки объектных моделей GLib 2.0, которая может использоваться для объектно-ориентированного проектирования и наследования.
Использует технологию QoS (качество обслуживания)
Чтобы гарантировать наилучшее качество звука и видео при высокой нагрузке на процессор, в проекте используется технология QoS (Quality of Service). Кроме того, он обеспечивает прозрачную и тривиальную конструкцию многопоточных трубопроводов.
Благодаря простому, стабильному и чистому API (Application Programming Interface), разработчики могут легко интегрировать его в свои приложения, а также создавать плагины, расширяющие функциональность по умолчанию. Он также предоставляет им полнофункциональную систему отладки.
Нижняя линия
В заключение, GStreamer - очень мощная и высоко оцененная мультимедийная среда для экосистемы с открытым исходным кодом, предоставляющая пользователям GNU / Linux широкий спектр аудио и видео кодеков для воспроизведения и обработки мультимедиа.
< strong> Что нового в этой версии:
- Исправление ошибок.
Что нового в версии 1.14.1:
- Выпуск исправления.
Что нового в версии:
- Этот выпуск содержит только исправления, и его следует безопасно обновлять с 1.8.0.
Что нового в версии 1.8.2:
- Этот выпуск содержит только исправления и должен быть безопасным для обновления с версии 1.8.0.
Что нового в версии 1.8.0:
- Аппаратное ускорение декодирования видео с нулевым копированием на Android
- Новый источник видеозахвата для Android с использованием API android.hardware.Camera.
- Поддержка обратного воспроизведения Windows Media (ASF / WMV / WMA)
- Новая система отслеживания обеспечивает поддержку более сложных средств отладки
- Новый высокоуровневый интерфейс для удобства воспроизведения GstPlayer
- Начальная поддержка нового API Vulkan, см. статью Мэтью Уотерса для более подробной информации
- Улучшенная поддержка аудиокодеков Opus: поддержка более двух каналов; MPEG-TS demuxer / muxer теперь может обрабатывать Opus; выборочное кодирование / декодирование / трансмуксирование с Ogg, Matroska, ISOBMFF (Quicktime / MP4) и MPEG-TS в качестве контейнера; новые функции утилиты codec для обработки заголовков и заголовков Opus в библиотеке pbutils. Элементы кодировщика / декодера Opus также были перемещены в gst-plugins-base (from -bad), а opp-загрузчик / загрузчик RPS opp до -хорошо.
- Модуль GStreamer VAAPI теперь выпущен и поддерживается как часть проекта GStreamer
- Поддержка прокси-сервера в службах редактирования GStreamer
Что нового в версии 1.6.3:
- Исправить регрессию в библиотеке GL, которая сделала glimagesink неподходящей на Android
- Целочисленное арифметическое переполнение в элементе queue2, которое может сломать буферизацию или вызвать сбои из-за разыменования указателя NULL
- Исправить ошибки в AAC / ADTS-типах, вызванные чтением большего количества памяти, чем доступно
- Остановить игнорирование ошибок кодировщика в кодерах VP8 / VP9
- Заблокировать GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED. Это redudant и никогда не было реализовано.
- Обеспечьте сохранение правильной информации о видео в GstVideoBufferPool
- Исключить кепки в rtspsrc при выполнении SRTP через чередующиеся TCP
- Исправить ошибку в парсинге pcap по пакетам 0 размера.
- Очистить флаг EOS в appsrc, чтобы разрешить повторное использование после EOS и очистки
- Игнорировать потоки очистки в streamsynchronizer во время потоковых коммутаторов для устранения проблем, вызванных этим в gst-edit-services
- Игнорировать теги и другие метаданные в WAV-файлах после "данных" chunk в режиме PUSH, чтобы предотвратить их интерпретацию как аудио
- Правильно используйте колориметрию в v4l2 только для цветовых форматов YUV.
- Установить зарезервированные биты в мультиплеере MPEG TS до 1 с
- Исправить расчет длины кадров SBC
- Исправить выход дефайлера загрузчика RTP JPEG2000, чтобы иметь один кадр на один буфер и сбой в декодере OpenJPEG на неполных кадрах
- Обновить снимок ffmpeg в gst-libav до 2.8.5
- Исправления утечки памяти в scaletempo, необработанном дефайлере RTP видео и в playink, связанных с аудио / видео фильтрами.
- Исправления для обработки ошибок в плагине аудио OSX
- Исправления и добавления аннотаций gobject-introspection
- Исправлены ошибки компилятора для последнего компилятора clang.
Что нового в версии 1.6.1:
- Сбой в кодах gst-libav был исправлен.
- Дополнительные тестовые потоки DASH-IF работают сейчас
- Live DASH, HLS и MS SmoothStreaming потоки работают более надежно и другие исправления для адаптивных потоковых протоколов.
- Обратное воспроизведение работает с помощью scaletempo, чтобы сохранить звуковой сигнал
- Сообщается о правильном потоке времени для отрицательного apply_rate
- Проверка протокола SRTP во время декодирования больше не отменяет действительные пакеты
- Исправления для аудиоагрегатора и агрегатора для запуска вывода в нужное время и, например, не выводя много молчания в начале
- Внутренний ffmpeg-снимок gst-libav обновлен до 2.8.1
- У cerbero есть поддержка Mac OS X 10.11 (El Capitan).
- Были исправлены различные утечки памяти, в том числе основные утечки в playbin, playink и decodebin
- Различные исправления аннотаций GObject-Introspection для привязок
- и многие, многое другое
Что нового в версии 1.6.0:
- Поддержка стереоскопического 3D и многопользовательского видео.
- API режима Trick для ключевого кадра только ускоренное переключение / ускоренное воспроизведение и т. д.
- Улучшенная DTS (временная метка декодирования) по сравнению с PTS (временная метка представления) для учета отрицательной DTS
- Новый API GstVideoConverter для более оптимизированного и правильного преобразования необработанных видеокадров между всеми поддерживаемыми форматами с масштабированием
- v4l2src теперь поддерживает перезаключение
- v4l2transform теперь может масштабировать
- Элемент V4L2 теперь корректно сообщает Colorimetry
- Более простая запись MP4, Matroska, Ogg, MPEG-TS: новые улучшения сплитминга и мультифилинга.
- Поддержка API сигнализации защиты содержимого и общего шифрования (CENC) для DASH / MP4
- Улучшение адаптивной потоковой передачи (DASH, HLS и MSS).
- Новые клиентские часы PTP и NTP и лучшая стабильность отслеживания часов.
- Наложение высококачественных текстовых субтитров при разрешении отображения с помощью glimagesink или gtkglsink
- Поддержка RECORD для сервера RTSP GStreamer
- Поддержка Retransmissions (RTX) на сервере и клиенте RTSP
- RTSP ищет поддержку на клиенте и сервере.
- Улучшения планирования RTCP и поддержка RTCP с уменьшенным размером.
- Мультиплексор MP4 / MOV приобрел новый "надежный" который пытается сохранить выходной файл в допустимом состоянии все время
- Поддержка Live микширования в агрегаторе, аудиомиксере и компоновщике значительно улучшилась.
- compositor теперь также поддерживает масштабирование потоков входов на лету
- Новый элемент audiointerleave с правильной входной синхронизацией и поддержкой прямого ввода.
- Поддержка Blackmagic Design DeckLink для захвата и воспроизведения была перезаписана с нуля; Поддержка 2k / 4k; распознавание режима
- Поддержка метаданных KLV в RTP и MPEG-TS
- видеокодер H.265 (x265), декодеры (libav, libde265) и почтовый загрузчик RTP и дефайловеры
- Новый плагин DTLS и поддержка SRTP / DTLS.
- Поддержка OpenGL3, множественные контексты и распространение контекста, 3D-видео, разделение передачи / преобразования, смешивание субтитров
- Новый приемник QML на базе OpenGL, приемник Gtk GL, конвертер видеоизображения CoreAnimation CAOpenGLLayerSink
- gst-libav переключился на ffmpeg как libav-провайдер, получил поддержку 3D / многопользовательского видео, трюковых режимов и кодека CAVS
- API-интерфейс GstHarness для модульных тестов
- gst-editing-services получил совершенно новый интерфейс ges-launch-1.0, улучшенную поддержку микширования и интеграцию в gst-validate
- gnonlin устарел в пользу nle (Non Linear Engine) в gst-editing-services
- gst-validate имеет новую систему плагинов, расширенный тест по умолчанию, поддержку параллельных тестовых прогонов и поддержку valgrind.
- Инструмент сборки cerbero для бинарных пакетов SDK получает новую команду «bundle-source»
- Различные улучшения для поддержки платформы Android, iOS, OS X и Windows.
Что нового в версии 1.5.2:
- 740502: Добавить абсолютное свойство в GstDirectControlBinding
- 740575: Фиксация DTS в GStreamer
- 745366: concat: Переслать события FLUSH_START / FLUSH_STOP
- 746949: concat: добавить свойство активной панели
- 750027: concat: Сбросить внутреннее смещение начала до 0 после промывки
- 750033: basetransform - позволяет сортировать / разделять буферы
- 750039: сохранение буферов с общей памятью
- 750319: память: подклассы не знают флагов карты в unmap
- 750530: ptp: FreeBSD, DragonFly и другие BSD не имеют ifreq.ifw_hwaddr
- 750574: netclientclock: установите часы в виде обертки вокруг встроенных часов.
- 750761: inputselector: Отметьте выбор продолжительности дорожки продолжительностью
- 750782: конвейер: добавьте свойство gst_pipeline_set_latency (), getter и GObject
- 751026: basesink: правильно обрабатывать списки буфера для свойства last-sample
- 751047: concat: добавить свойство adjust-base
- 751107: concat: при отпускании пэда отправьте EOS соответствующим образом.
- 751235: utils: get_compatible_pad не полностью соответствует фильтрам.
- 751420: basink: необходимо глубоко скопировать последний список буфера в сток
Что нового в версии 1.4.5:
- Ядро GStreamer:
- 736969: queue2: мертвая блокировка при буферизации
- 738092: baseink: информация о зажимах, основанная на направлении
- 740001: задача: состояние гонки при приостановке и остановке.
- Плагин GStreamer:
- 741420: пулы видео: необходимо обновить размер в конфигурации после применения выравнивания
- 715050: добавьте видоискатель для аудио / х-слышимости
- 739544: tcp: Добавить тест и исправить утечку памяти в tcp-элементах
- 739840: typefind должен распознавать Apple Core Audio Format (CAF)
- 740556: видеодекодер: не жалуйтесь, когда DTS! = PTS на ключевые кадры
- 740675: playink: продолжение воспроизведения, сброс свойства отключения.
- 740730: rtspconnection: не удалять дочерний источник, если исходный источник уже уничтожен.
- 740853: audiodecoder: отбрасывать ожидающие события перед отправкой EOS.
- 740952: alsa: исправления NetBSD
- 741045: audiorate can может потерять точность метки в некоторых случаях.
- 741198: playbin: утечки GstPads
- Плагины GStreamer Хорошо:
- 711437: apev2mux: не следует помещать теги APEv2 в начало файлов WavPack
- 726194: v4l2src не справляется хорошо, когда карта захвата иногда чересстрочна, иногда прогрессирует с одинаковым разрешением.
- 736397: flvdemux: поведение повторной синхронизации в потоке вызывает A / V-desyncs
- 737603: v4l2bufferpool: установить флаги чередования блоков, когда поле V4L2_FIELD_INTERLACED
- 739476: vpx: не удается создать libvpx из git
- 739722: matroskamux: регистр сейфов GstMatroskamuxPad
- 739789: v4l2allocator: исправить сообщение об ошибке, если распределитель уже активен
- 739791: v4l2bufferpool: unref пул при ошибке v4l2_allocator_new ()
- 739792: v4l2allocator: исправить прототип gst_v4l2_allocator_stop
- 739996: videomixer: выпадает много кадров, если один из источников находится в режиме реального времени.
- 740040: v4l2src: сбой в присутствии V4L2_BUF_FLAG_ERROR
- 740392: rtspsrc: mikey base64 decoded key-mgmt leak
- 740407: захват лимитов qtmux до 4096x4096.
- 740633: v4l2src: RW io-mode нарушен.
- 740636: v4l2src: частота кадров не всегда установлена на драйвер.
- 740671: aspectratiocrop: урожай необходимо сбросить при изменении размера видео.
- 740905: v4l2: все еще есть 1 включить в linux / videodev.h
- 741271: rtph264pay: утечка буфера в загрузчике H.264 при использовании SPS / PPS
- 741381: rtph264pay: состояние гонки может привести к сбою при переходе с PAUSED- & gt; READY
- 741407: deinterlace: в query_caps возвращаются только поддерживаемые форматы, если фильтр чересстрочный
- 737579: v4l2object: установить цветовое пространство для устройств вывода.
- 739754: v4l2bufferpool: следует проверить, что все записи сохраняются в памяти перед очередью
- Плагины GStreamer Bad:
- 722764: rawparse: исправить ПОИСК ИСПОЛЬЗОВАНИЯ запросов
- 729768: mpegtsbase: снижать лимит, чтобы читать больше байтов, чтобы найти PCR
- 739152: gl / cocoa: сбой с GNUStep
- 740191: dvbbasesink: segfaults на 32-битном (rpi)
- 740201: gl / cocoa: не компилируется в OSX & lt; 10.7 больше
- 740451: srtpdec: утечки rtp / rtcp события-приемники
- 740953: configure.ac: unportable test (1) оператор сравнения
- 741321: opusparse: исправление разбора заголовков esp. закодированного вывода libopus
- Сервер GStreamer RTSP:
- 739481: rtsp-stream: утечка srtp-декодера при выходе из rtpbin
Что нового в версии 1.4.4:
- Ошибки, исправленные в версии 1.4.5:
- 737498: multiqueue: не учитывается событие GAP при расчете текущего уровня
- 737794: multiqueue: deadlock, если очередь переполнена сериализованными событиями
- 737999: системный журнал: проблема с многопотоковой записью.
- 738198: multiqueue: не пробуждает не связанные потоки на EOS
Что нового в версии 1.4.1:
- Серия выпусков 1.4 добавляет новые функции сверху из серии 1.2 и является частью версии API и ABI-стабильной версии 1.x мультимедийной среды GStreamer, которая содержит новые функции. В версиях исправлений 1.4.x содержатся только важные исправления по сравнению с 1.4.0.
Что нового в версии 1.4 RC2:
- Команда GStreamer рада объявить о втором кандидате на выпуск стабильной версии 1.4. Серия выпусков 1.4 добавляет новые функции поверх версий 1.0 и 1.2 и является частью серии API и ABI-стабильной версии 1.x мультимедийной среды GStreamer.
- Этот кандидат на выпуск, как мы надеемся, вскоре последует за стабильным выпуском версии 1.4.0, если не обнаружены более крупные регрессии или более крупные проблемы, и было достаточное тестирование кандидата на выпуск. Новый API, который был добавлен во время выпуска версии 1.3, как ожидается, не изменится в данный момент.
Что нового в версии 1.4 RC1:
- Новый API:
- В GstMessageType добавлен GST_MESSAGE_EXTENDED. Все типы до этого могут использоваться вместе как тип флагов, как и раньше, но из этого сообщения типы только подсчитываются постепенно. Это было необходимо, чтобы иметь возможность добавлять больше типов сообщений. В 2.0 GstMessageType будет просто переименовать, а не тип флагов.
- GstDeviceMonitor для зондирования устройства, например. для перечисления всех доступных аудио- или видеозахватов. Это замена GstPropertyProbe от 0.10.
- События накапливают смещение времени выполнения при прохождении через пэды, как установлено функцией gst_pad_set_offset (). Это позволяет, например, компенсировать это в случае QOS.
- GstBuffer имеет новый флаг "tag-memory" который устанавливается автоматически, когда память добавляется или удаляется в буфер. Это позволяет пулам буферов обнаруживать, могут ли они переработать буфер или сначала выполнить его сброс.
- В GstToc есть новый API для маркировки GstTocEntries как циклов.
- Определена некорректная ошибка ресурса для уведомления приложений о том, что доступ к ресурсу завершился неудачно из-за отсутствия авторизации и отличить этот случай от других. Это изменение уже в 1.2.4.
- GstPad имеет новый флаг «accept-intersect», который позволит обработчику запросов ACCEPT_CAPS по умолчанию выполнять пересечение вместо проверки подмножества. Это интересно для элементов парсера, которые могут обрабатывать неполные кепки.
- GstCollectPads теперь поддерживает сброс и обработчик по умолчанию для событий SEEK.
- Новый вспомогательный объект GstFlowAggregator, который упрощает обработку возвратов потока в элементах с несколькими исходными площадками. Кроме того, GstPad теперь всегда сохраняет последний возврат потока и предоставляет API для его получения.
- GstSegment имеет новый API для компенсации времени выполнения на определенное значение, и это используется в GstPad, чтобы разрешить положительные и отрицательные смещения в gst_pad_set_offset () во всех ситуациях.
- Поддержка h265 / HEVC и VP8 была добавлена в библиотеку кодеков кодеков и кодеков и была интегрирована в различные элементы.
- Добавлен API для настройки проверки TLS соединения RTSP.
- В библиотеке RTSP и SDP имеется поддержка MIKEY (RFC 3830), и существует API для различения различных профилей RTSP.
- API для доступа к информации и статистике времени RTP.
- Поддержка вспомогательных потоков была добавлена в rtpbin.
- Добавлена поддержка черепичных, необработанных видеоформатов.
- GstVideoDecoder и GstAudioDecoder имеют API, позволяющий объединять события тегов и последовательно объединять в них пользовательские теги.
- GstBufferPool теперь поддерживает очистку.
- playbin / playink поддерживает поддерживаемые приложения аудио и видео фильтры.
- В GstDiscoverer есть новый и упрощенный API, чтобы получить информацию о пропущенных плагинах и информации, которые необходимо передать программе установки плагинов.
- Библиотека GL была объединена с gst-plugins-gl на gst-plugins-bad, предоставляя универсальную инфраструктуру для обработки GL внутри конвейеров GStreamer и плагин с некоторыми элементами, использующими их, особенно для видеопотока. В настоящее время поддерживаются платформы Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) и общие платформы X11, Wayland и EGL. Это заменяет eglglessink, а также предполагается заменить osxvideosink.
- Новый базовый класс GstAggregator в gst-plugins-bad. Предполагается, что это заменит GstCollectPads в будущем и устранит давние недостатки в его API. Вместе с базовым классом уже предусмотрены некоторые элементы, такие как видеомиксер (композитор).
- Основные изменения:
- Новые плагины и элементы:
- v4l2videodec для доступа к аппаратным кодекам на платформах, которые делают их доступными через V4L2, например. Samsung Exynos. Это происходит вместе с основным реорганизацией существующих элементов V4L2 и соответствующей инфраструктуры. Элемент v4l2videodec заменяет элемент mfcdec.
- Новый элемент downloadbuffer, который заменяет функцию буферизации загрузки queue2. По сравнению с кодом queue2 это намного проще и только для этого единственного варианта использования. Примечательной новой особенностью является то, что она загружает пробелы в уже загруженных частях потока, когда больше ничего не нужно загружать. Это теперь используется playbin, когда включена буферизация загрузки.
- rtpstreampay и элементы rtpstreamdepay для передачи пакетов RTP через API потока (например, TCP) в соответствии с RFC 4571.
- элементы rtprtx для стандартной реализации повторных передач, интегрированные в плагин rtpmanager.
- элемент audiomixer, который одновременно объединяет несколько аудиопотоков в один, сохраняя синхронизацию. Планируется, что это станет заменой элемента сумматора.
- Плагин OpenNI2 для 3D-камер, таких как камера Kinect.
- Плагин OpenEXR для декодирования EXR-изображений с высоким динамическим диапазоном.
- curlsshsink и curlsftpsink для записи файлов через SSH / SFTP.
- videoignal, ivfparse и sndfile, портированные с 0.10.
- avfvideosrc, vtdec и другие элементы были перенесены с 0.10 и теперь доступны в OS X и iOS.
- Другие изменения:
- gst-libav теперь использует libav 10.1 и получил поддержку H265 / HEVC.
- Поддержка аппаратных кодеков и специальных типов памяти улучшена с исправлениями и дополнениями функций в различных плагинах и базовых классах.
- Различные исправления и улучшения буферизации в элементах queue2 и multiqueue.
- dvbsrc теперь поддерживает дополнительные механизмы доставки и другие функции, включая поддержку DVB S2 и T2.
- Библиотека MPEGTS поддерживает многие другие дескрипторы.
- Основные улучшения в tsdemux и tsparse, особенно время и поиск связанных.
- Теперь у souphttpsrc есть поддержка соединений keep-alive, сжатия, настраиваемого количества попыток и конфигурации для проверки сертификата SSL.
- hlsdemux прошел большой рефакторинг и теперь работает более надежно и поддерживает больше функций HLS, таких как режимы трюков. Кроме того, фрагменты перемещаются вниз по течению, пока они загружаются сейчас, а не ждут завершения каждого фрагмента.
- dashdemux и mssdemux теперь также подталкивают фрагменты вниз по течению, пока они загружаются, а не ждут завершения каждого фрагмента.
- videoflip может автоматически переворачиваться на основе тега ориентации.
- openjpeg поддерживает API OpenJPEG2.
- waylandsink был реорганизован и теперь должен быть более полезным. Он также включает небольшую библиотеку, которая, скорее всего, будет удалена в будущем и приведет к расширению интерфейса GstVideoOverlay.
- gst-rtsp-server теперь поддерживает SRTP и MIKEY.
- gst-libav теперь согласовывают любые настройки профиля / уровня с нисходящим потоком через кепки.
- Множество исправлений для предупреждений об угрозах повсюду.
- Улучшения производительности, связанные с переговорами.
- 800+ исправленных отчетов об ошибках и многие другие исправления ошибок и другие улучшения во всем мире, у которых не было отчета об ошибках.
- Что нужно искать:
- Элемент eglglessink был удален и заменен элементом glimagesink.
- Элемент mfcdec был удален и заменен на v4l2videodec.
- osxvideosink доступен только в OS X 10.6 или новее.
- В Android пространство имен автоматически созданного класса Java для инициализации GStreamer изменилось с com.gstreamer на org.freedesktop.gstreamer, чтобы предотвратить загрязнение пространства имен.
- В iOS вам нужно обновить свои gst_ios_init.h и gst_ios_init.m в ваших проектах из тех, которые включены в двоичные файлы, если раньше вы использовали модуль GnuTLS GIO. Механизм загрузки немного изменился.
Что нового в версии 1.2.4:
- Ядро GStreamer:
- 724373: Queue2 усекает свой временный файл, когда конвейер приостановлен
- 725517: docs: Исправить опечатки и удалить неизвестные аннотации
- 725809: ghostpad: редкий сбой из-за отсутствия ссылки на целевую панель.
- 727253: parse: Bison, сгенерированный файл, включенный в tar-файлы релиза, вызывает ошибки компиляции.
- 727883: baseparse: утечка памяти в очереди кадров
- Плагин GStreamer:
- 693263: typefinding: MPEG-2 видео ES, обнаруженное как H.263
- 683504: playink: deadlock при отключении субтитров и субоптимальном отключении субтитров
- 700770: typefinding: mp3-файл не обнаружен как h263 video
- 723597: tagdemux: поиск события в GST_FORMAT_TIME преобразуется в BYTES до раннего
- 724633: oggdemux: игнорирует последнюю страницу в режиме push
- 724720: rtspconnection: невозможно отключить / восстановить соединение для чтения в туннельном режиме.
- 725313: rtspconnection: closed () callback никогда не вызывается в туннельном режиме
- 725644: typefinding: mp3-файл неверно определен как H.263
- 726642: rtspconnection: незначительная утечка памяти при обработке ошибок.
- 727025: сумматор: переработайте логику, чтобы проверить, нужно ли отправлять eos.
- Плагины GStreamer Хорошо:
- 725104: qtdemux: обратное воспроизведение и отказ при передаче видеопотока
- 722185: souphttpsrc: racy & quot; сервер не поддерживает поиск & quot; ошибка
- 724619: сбой при чтении свойства имени устройства в импульсном режиме
- 725124: rtspsrc: Заблокировать тупик, когда создание задачи не будет успешным.
- 725712: rtpsession: сбой при получении FIR RTCP с неизвестным SSRC
- 725860: v4l2src: исправить с помощью v4l2src с устройством захвата видеоизображения Hauppauge HDPVR.
- 726777: rtpjpegpay: размер полезной нагрузки не определен правильно
- 728017: событие [регрессия] eos не может быть отправлено из gstrtpjitterbuffer.
- 728041: rtph264depay: отметки всех выходных буферов как дельта-единиц при выводе формата avc
- 724638: aacparse: Отсутствует устойчивость, когда аудиокадр не найден.
- 727329: check: souphttpsrc: неизвестное имя типа 'SoupStatus'
- Плагины GStreamer Bad:
- 724013: Не используйте hardcode / usr / share / sounds / sf2 path в fluiddec
- 725137: hlsdemux: не удается вычислить URL-адрес плейлиста для мультимедиа, если есть параметр запроса
- 725140: hlsdemux: не удается правильно разобрать кодеки и РАЗРЕШЕНИЕ
- Плагины GStreamer libav:
- 727779: avdec_h264, matroskademux: сбой при поиске (1.2 регрессия)
Что нового в версии 1.2.2:
- Серия выпусков 1.2 добавляет новые функции, входящие в ряды 1.0, и являются частью серии API и ABI-стабильной версии 1.x мультимедийной среды GStreamer, которая содержит новые функции.
Что нового в версии 1.2.0:
- Новый API:
- Согласование / совместное использование / объявление GstContext для совместного использования общего контекста между элементами, например. ручка отображения
- GL метаданных конверсии метаданных, позволяющих конвертировать различные типы буферов в текстуру OpenGL.
- GstCapsFeatures как расширение для GstCaps для разрешения согласования определенной памяти или мета-требований между элементами
- Флаги GstMemory для непрерывной и не отображаемой памяти
- Событие начала потока имеет необязательные флаги, например. для сигнализации редких потоков
- У начала потока даже есть необязательное поле идентификатора группы, чтобы сигнализировать все потоки, которые должны воспроизводиться вместе.
- Библиотека библиотек в gst-plugins-base, в настоящее время только с общей поддержкой памяти dmabuf.
- библиотека insertbin для упрощения обработки динамически связанных конвейеров (в -b сейчас)
- Вспомогательная библиотека EGL (в настоящее время -bad)
- Библиотека данных MPEG-TS (в -bad сейчас)
- Новый GstVideoRegionOfInterestMeta для описания области, представляющей интерес для видеокадров.
- GstVideoDecoder / Encoder имеет новый :: flush () vfunc для замены неопределенного :: reset () vfunc.
- Запрос URI позволяет теперь запрашивать перенаправленный URI.
- Основные изменения:
- Новый инструмент: gst-play-1.0 в gst-plugins-base для базового тестирования воспроизведения в командной строке.
- Новые плагины:
- mssdemux для Microsoft Smooth Streaming
- dashdemux для протокола адаптивной потоковой передачи данных DASH
- bluez для взаимодействия с устройствами Bluetooth
- openjpeg для декодирования и кодирования JPEG2000
- daala для экспериментального декодирования и кодирования Daala
- Плагин vpx имеет экспериментальную поддержку декодирования и кодирования VP9.
- плагин webp для декодирования WebP (кодировка будет добавлена позже)
- Различные другие: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, exactaterip и audiofxbad.
- Перемещенные плагины:
- dtmf, vp8rtp, plugetempo и rtpmux плагины находятся в gst-plugins-good now
- Видео:
- Исправить обработку чересстрочного видео в конвертерах, таких как videocale и videoconvert (например, масштабировать оба поля независимо)
- videoconvert будет стараться свести к минимуму потери качества при необходимости преобразования
- Экспериментальные API-интерфейсы GstSurfaceConverter, GstSurfaceMeta и GstVideoContext из (смутно названной) библиотеки libgstbasevideo-1.0 в gst-plugins-bad теперь были удалены и заменены новыми API-интерфейсами в GStreamer Core и gst-plugins-base (см. выше ). Так как это все, что осталось в этой библиотеке, вся экспериментальная библиотека libgstbasevideo-1.0 была удалена из gst-plugins-bad
- Хроматическая поддискретизация и преобразование цветности лучше обрабатываются в видеоконвертере, и улучшена поддержка чересстрочного видео.
- Новые шаблоны колесика и спица в видеороликах
- videomixer теперь может принимать различные видеоформаты на своих sinkpads и конвертирует в общий формат во время микширования
- Аудио:
- audioconvert будет стараться свести к минимуму потери качества при необходимости преобразования.
- сумматор теперь позволяет отключать / отключать свои входные потоки, а также объем входного потока
- Элементы pulseaudio теперь могут переключаться между устройствами во время воспроизведения.
- aacparse может конвертировать между ADTS ← -> RAW
- Изменения в конкретной платформе:
- Шаблоны, события и т. д. теперь печатаются в журналах отладки GStreamer с их содержимым, а не только с адресом указателя даже на платформах без glibc (например, Windows, OSX, Android).
- Элементы сети (UDP / TCP) теперь лучше работают с платформами, где сокеты IPv6 не могут обрабатывать IPv4 (например, Windows)
- Linux / BSD: у v4l2 было много улучшений и очистки.
- Другие изменения:
- gst-libav теперь использует libav 9
- Статическая привязка плагинов теперь поддерживается (также в версии 1.0.7)
- rtspsrc: добавьте поддержку NetClientClock: когда сервер предлагает GstNetTimeProvider в SDP, настройте GstNetClientClock, который подчиняется удаленному часовому механизму и предлагает эти часы в представлении_clock. Упрощает синхронизированное воспроизведение ресурса с сервера RTSP. gst-rtsp-server теперь поддерживает добавление этого в SDP и может предоставлять сетевые часы
- Поддержка повторной передачи RTP / NACK и большие улучшения jitterbuffer RTP.
- Поддержка протокола SRTP и DTLS
- Изменяет многие элементы и ядро, чтобы использовать правильный липкий порядок событий, а также не терять каких-либо важных липких событий во время промывки.
- & gt; 1000 исправленных отчетов об ошибках и многие другие исправления ошибок и другие улучшения во всем мире, у которых не было отчета об ошибках
- Что нужно искать:
- Единый заголовок включает для всех библиотек, например. #include - это необходимо для некоторых привязок.
- Более строгая (правильная) проверка подмножества проб в некоторых случаях, когда это было неправильно. Caps теперь всегда будет несовместимым подмножеством другого набора шапок, если в кешках подмножества отсутствуют некоторые поля, которые имеют верхние кепки. Это может привести к ошибкам, не связанным с обсуждением, если кепки сейчас неполны. Тем не менее, это также предотвращает возможное повреждение данных, вызванное несовместимыми / неожиданными способами передачи данных трубопроводов в некоторые элементы. Проверьте свои h264-кепки для полей формата потока и выравнивания и кепки AAC для поля формата потока. Это изменение также будет включено в следующий стабильный выпуск 1.0.8.
- Более строгая проверка отсутствующих событий и исправление липкого порядка событий (потоковое начало, кепки, сегмент) в некоторых местах; это не включено в стабильные версии по умолчанию, но вы можете получать предупреждения при использовании git-сборок, выпусков разработки или при компиляции с -UG_DISABLE_ASSERT в CFLAGS
- x264enc теперь выводит данные в байтовом потоке по умолчанию, если у нисходящего потока есть ЛЮБЫЕ заглушки (например, appsink без шапок, filesink, udpsink, tcpserversink и т. д.).
- Сообщения сообщений MPEG TS demuxer содержат PMT, PAT и т. д. в другом формате. Этот новый формат использует структуры данных из новой библиотеки MPEGTS.
- API GstContext изменился между 1.1.4 и 1.1.90
Что нового в версии 1.1.4:
- Новый API:
- Согласование / совместное использование / объявление GstContext для совместного использования общего контекста между элементами, например. ручка отображения
- GL метаданных конверсии метаданных, позволяющих конвертировать различные типы буферов в текстуру OpenGL.
- GstCapsFeatures как расширение для GstCaps для разрешения согласования определенной памяти или мета-требований между элементами
- Флаги GstMemory для непрерывной и не отображаемой памяти
- Событие начала потока имеет необязательные флаги, например. для сигнализации редких потоков
- У начала потока даже есть необязательное поле идентификатора группы, чтобы сигнализировать все потоки, которые должны воспроизводиться вместе.
- Библиотека библиотек в gst-plugins-base, в настоящее время только с общей поддержкой памяти dmabuf.
- библиотека insertbin для упрощения обработки динамически связанных конвейеров (в -b сейчас)
- Вспомогательная библиотека EGL (в настоящее время -bad)
- Библиотека данных MPEG-TS (в -bad сейчас)
- Новый GstVideoRegionOfInterestMeta для описания области, представляющей интерес для видеокадров.
- GstVideoDecoder / Encoder имеет новый :: flush () vfunc для замены неопределенного :: reset () vfunc.
- Запрос URI позволяет теперь запрашивать перенаправленный URI.
- Основные изменения:
- Новый инструмент: gst-play-1.0 в gst-plugins-base для базового тестирования воспроизведения в командной строке.
- Новые плагины:
- mssdemux для Microsoft Smooth Streaming
- dashdemux для протокола адаптивной потоковой передачи данных DASH
- bluez для взаимодействия с устройствами Bluetooth
- openjpeg для декодирования и кодирования JPEG2000
- daala для экспериментального декодирования и кодирования Daala
- Плагин vpx имеет экспериментальную поддержку декодирования и кодирования V9.
- плагин webp для декодирования WebP (кодировка будет добавлена позже)
- Различные другие: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, exactaterip и audiofxbad.
- Перемещенные плагины:
- dtmf, vp8rtp, plugetempo и rtpmux плагины находятся в gst-plugins-good now
- Видео:
- Исправить обработку чересстрочного видео в конвертерах, таких как videocale и videoconvert (например, масштабировать оба поля независимо)
- videoconvert будет стараться свести к минимуму потери качества при необходимости преобразования
- Экспериментальные API-интерфейсы GstSurfaceConverter, GstSurfaceMeta и GstVideoContext из (смутно названной) библиотеки libgstbasevideo-1.0 в gst-plugins-bad теперь были удалены и заменены новыми API-интерфейсами в GStreamer Core и gst-plugins-base (см. выше ). Поскольку это все, что осталось в этой библиотеке, вся экспериментальная библиотека libgstbasevideo-1.0 была удалена из gst-plugins-bad.
- Хроматическая поддискретизация и преобразование размещения лучше обрабатываются в видеоконверте.
- Новые шаблоны колесика и спица в видеороликах
- Аудио:
- сумматор теперь позволяет отключать / отключать свои входные потоки, а также объем входного потока
- Элементы pulseaudio теперь могут переключаться между устройствами во время воспроизведения.
- aacparse может конвертировать между ADTS ← -> RAW
- Изменения в конкретной платформе:
- Шаблоны, события и т. д. теперь печатаются в журналах отладки GStreamer с их содержимым, а не только с адресом указателя даже на платформах без glibc (например, Windows, OSX, Android).
- Элементы сети (UDP / TCP) теперь лучше работают с платформами, где сокеты IPv6 не могут обрабатывать IPv4 (например, Windows)
- Windows: d3dvideosink предоставляет буферный пул для восходящих элементов.
- Linux / BSD: у v4l2 было много улучшений и очистки.
- Другие изменения:
- gst-libav теперь использует libav 9
- Статическая привязка плагинов теперь поддерживается (также в версии 1.0.7)
- rtspsrc: добавьте поддержку NetClientClock: когда сервер предлагает GstNetTimeProvider в SDP, настройте GstNetClientClock, который подчиняется удаленному часовому механизму и предлагает эти часы в представлении_clock. Упрощает синхронизированное воспроизведение ресурса с сервера RTSP. gst-rtsp-server теперь поддерживает добавление этого в SDP и может предоставлять сетевые часы
- Поддержка повторной передачи RTP / NACK и большие улучшения jitterbuffer RTP.
- Поддержка протокола SRTP и DTLS
- Изменяет многие элементы и ядро, чтобы использовать правильный липкий порядок событий, а также не терять каких-либо важных липких событий во время промывки.
- & gt; 1000 исправленных отчетов об ошибках и многие другие исправления ошибок и другие улучшения во всем мире, у которых не было отчета об ошибках
- Что нужно искать:
- Единый заголовок включает для всех библиотек, например. #include - это необходимо для некоторых привязок.
- Более строгая (правильная) проверка подмножества проб в некоторых случаях, когда это было неправильно. Caps теперь всегда будет несовместимым подмножеством другого набора шапок, если в кешках подмножества отсутствуют некоторые поля, которые имеют верхние кепки. Это может привести к ошибкам, не связанным с обсуждением, если кепки сейчас неполны. Тем не менее, это также предотвращает возможное повреждение данных, вызванное несовместимыми / неожиданными способами передачи данных трубопроводов в некоторые элементы. Проверьте свои h264-кепки для полей формата потока и выравнивания и кепки AAC для поля формата потока. Это изменение также будет включено в следующий стабильный выпуск 1.0.8.
- Более строгая проверка отсутствующих событий и исправление липкого порядка событий (потоковое начало, кепки, сегмент) в некоторых местах; это не включено в стабильные версии по умолчанию, но вы можете получать предупреждения при использовании git-сборок, выпусков разработки или при компиляции с -UG_DISABLE_ASSERT в CFLAGS
- x264enc теперь выводит данные в байтовом потоке по умолчанию, если у нисходящего потока есть ЛЮБЫЕ заглушки (например, appsink без шапок, filesink, udpsink, tcpserversink и т. д.).
Комментарии не найдены