Даступны мультымедыйны фрэймворк GStreamer 1.20.0

Пасля паўтары гадоў распрацоўкі адбыўся рэліз GStreamer 1.20, напісанага на мове Сі кросплатформавага набору кампанентаў для стварэння шырокага спектру мультымедыя прыкладанняў, ад медыяплэераў і канвертараў аўдыё/відэа файлаў, да VoIP-прыкладанняў і сістэм струменевага вяшчання. Код GStreamer распаўсюджваецца пад ліцэнзіяй LGPLv2.1. Адначасова даступныя абнаўленні плагінаў gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20, а таксама абвязка gst-libav 1.20 і сервер струменевага вяшчання gst-rtsp- На ўзроўні API і ABI новы выпуск зваротна сумяшчальны з галінкай 20. Бінарныя зборкі ў хуткім часе будуць падрыхтаваны для Android, iOS, macOS і Windows (у Linux рэкамендуецца выкарыстоўваць пакеты з дыстрыбутыва).

Ключавыя паляпшэнні GStreamer 1.20:

  • Распрацоўка на GitLab пераведзена на выкарыстанне адзінага рэпазітара, агульнага для ўсіх модуляў.
  • Дададзена новая высокаўзроўневая бібліятэка GstPlay, якая прыйшла на змену API GstPlayer і прапануе падобныя функцыі для прайгравання кантэнту, якія адрозніваюцца выкарыстаннем для апавяшчэння прыкладанняў шыны паведамленняў замест сігналаў GObject.
  • Дададзена падтрымка дэкадавання інфармацыі аб празрыстасці ў фармаце WebM, якая дазваляе прайграваць відэа VP8/VP9 з празрыстымі абласцямі.
  • У профілі кадавання дададзена падтрымка налады дадатковых уласцівасцяў, спецыфічных для прыкладанняў.
  • У Compositor рэалізавана падтрымка пераўтварэнні і змешванні відэа ў шматструменным рэжыме.
  • У класах depayloader і payloader уніфікавана падтрымка працы з дадатковымі загалоўкамі RTP (RTP Header Extensions).
  • Дададзена падтрымка механізму папераджальнай карэкцыі памылак SMPTE 2022-1 2-D (Forward Error Correction).
  • У encodebin і transcodebin для кодэкаў VP8, VP9 і H.265 рэалізаваны разумны рэжым кадавання («smart encoding»), пры якім перакадоўка выконваецца толькі пры неабходнасці, а ў астатні час выконваецца пракід наяўнага струменя.
  • Забяспечана сумяшчальнасць плагіна souphttpsrc c libsoup2 і libsoup3.
  • Дададзена магчымасць дэкадавання ўваходных дадзеных на ўзроўні прамежкавых кадраў (sub-frame), што дазваляе пачаць дэкадаванне не чакаючы атрыманні поўнага кадра. Падтрымка дадзенай аптымізацыі задзейнічана ў дэкадзіроўшчыках OpenJPEG JPEG 2000, FFmpeg H.264 і OpenMAX H.264/H.265.
  • Пры дэкадаванні відэа для пратаколаў RTP, WebRTC і RTSP забяспечана аўтаматычная апрацоўка страты пакетаў, пашкоджанні дадзеных і запытаў ключавых кадраў.
  • У пакавальнікі медыякантэйнераў mp4 і Matroska дададзеная падтрымка змены дадзеных кодэка на лета, што дазваляе змяняць профіль, узровень і дазвол для ўваходных струменяў H.264/H.265.
  • Дададзены рэжым стварэння фрагментаваных мэдыякантэйнераў mp4.
  • У порт на базе WPE (WebKit Port for Embedded) дададзена падтрымка гуку.
  • Дададзена магчымасць выкарыстання CUDA для пераўтварэння каляровай прасторы, маштабаванні элементаў і загрузкі элементаў.
  • Для элементаў OpenGL glupload і gldownload дададзена падтрымка памяці NVMM (NVIDIA Memory Module).
  • Палепшана падтрымка WebRTC.
  • Прапанаваны новы убудова для VA-API (Video Acceleration API), які падтрымлівае больш дэкадавальнікаў і элементаў постпрацэсінгу.
  • У API AppSink дададзеная падтрымка падзей у дадатак да буфераў і спісаў буфераў.
  • У AppSrc дададзены дадатковыя налады ўнутраных чэргаў.
  • Абноўлены прывязкі на мове Rust і дададзена 26 новых плагінаў, напісаных на Rust (gst-plugins-rs).
  • Дададзеныя элементы aesdec і aesenc для шыфравання і расшыфроўкі з выкарыстаннем алгарытму AES.
  • Дададзеныя элементы fakeaudiosink і videocodectestsink для тэсціравання і адладкі.
  • Палепшаны сродкі для стварэння мінімалістычных зборак GStreamer.
  • Дададзена магчымасць зборкі з FFmpeg 5.0.
  • Для Linux рэалізаваны варыянты кодэкаў MPEG-2 і VP9, ​​якія працуюць без захавання стану (Stateless).
  • Для Windows у дэкадавальнік на базе Direct3D11/DXVA дададзеная падтрымка AV1 і MPEG-2.

Крыніца: opennet.ru

Дадаць каментар