Kerangka kerja multimedia GStreamer 1.20.0 tersedia

Setelah satu setengah tahun pengembangan, GStreamer 1.20 dirilis, serangkaian komponen lintas platform yang ditulis dalam C untuk membuat berbagai aplikasi multimedia, mulai dari pemutar media dan konverter file audio/video, hingga aplikasi VoIP dan sistem streaming. Kode GStreamer dilisensikan di bawah LGPLv2.1. Pada saat yang sama, pembaruan untuk plugin gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20 tersedia, serta pengikatan gst-libav 1.20 dan server streaming gst-rtsp-server 20. Pada level API dan ABI, rilis baru ini kompatibel dengan cabang 1.0. Rakitan biner akan segera disiapkan untuk Android, iOS, macOS dan Windows (di Linux disarankan untuk menggunakan paket dari distribusi).

Peningkatan utama di GStreamer 1.20:

  • Pengembangan di GitLab telah dialihkan menggunakan satu repositori yang umum untuk semua modul.
  • Pustaka GstPlay tingkat tinggi baru telah ditambahkan, yang menggantikan API GstPlayer dan menawarkan fungsionalitas serupa untuk memutar konten, berbeda dengan menggunakan bus pesan untuk memberi tahu aplikasi, bukan sinyal GObject.
  • Menambahkan dukungan untuk mendekode informasi transparansi WebM, memungkinkan pemutaran video VP8/VP9 dengan area transparan.
  • Profil pengkodean sekarang memiliki dukungan untuk mengatur properti khusus aplikasi tambahan.
  • Compositor mendukung konversi dan pencampuran video multi-thread.
  • Kelas depayloader dan payloader memiliki dukungan terpadu untuk bekerja dengan header RTP tambahan (RTP Header Extensions).
  • Menambahkan dukungan untuk mekanisme SMPTE 2022-1 2-D (Forward Error Correction).
  • Encodebin dan transcodebin untuk codec VP8, VP9 dan H.265 menerapkan mode pengkodean cerdas, di mana transcoding dilakukan hanya jika diperlukan, dan sisa waktu aliran yang ada diteruskan.
  • Plugin suphttpsrc sekarang kompatibel dengan libsoup2 dan libsoup3.
  • Menambahkan kemampuan untuk mendekode data masukan pada tingkat frame perantara (sub-frame), yang memungkinkan Anda memulai decoding tanpa menunggu frame penuh diterima. Dukungan untuk optimasi ini disertakan dalam dekoder OpenJPEG JPEG 2000, FFmpeg H.264 dan OpenMAX H.264/H.265.
  • Saat mendekode video untuk protokol RTP, WebRTC dan RTSP, penanganan otomatis kehilangan paket, kerusakan data, dan permintaan bingkai kunci disediakan.
  • Dukungan untuk mengubah data codec dengan cepat telah ditambahkan ke mp4 dan pengemas wadah media Matroska, yang memungkinkan Anda mengubah profil, level, dan resolusi untuk aliran input H.264/H.265.
  • Menambahkan mode untuk membuat wadah media mp4 terfragmentasi.
  • Dukungan audio telah ditambahkan ke port berbasis WPE (WebKit Port for Embedded).
  • Menambahkan kemampuan menggunakan CUDA untuk konversi ruang warna, penskalaan elemen, dan pemuatan elemen.
  • Menambahkan dukungan untuk memori NVMM (NVIDIA Memory Module) untuk elemen OpenGL glupload dan gldownload.
  • Peningkatan dukungan WebRTC.
  • Sebuah plugin baru untuk VA-API (Video Acceleration API) telah diusulkan, mendukung lebih banyak decoder dan elemen pasca-pemrosesan.
  • AppSink API telah menambahkan dukungan untuk peristiwa selain buffer dan daftar buffer.
  • Pengaturan tambahan untuk antrian internal telah ditambahkan ke AppSrc.
  • Memperbarui pengikatan bahasa Rust dan menambahkan 26 plugin baru yang ditulis dalam Rust (gst-plugins-rs).
  • Menambahkan elemen aesdec dan aesenc untuk enkripsi dan dekripsi menggunakan algoritma AES.
  • Menambahkan elemen fakeaudiosink dan videocodectestsink untuk pengujian dan debugging.
  • Alat yang ditingkatkan untuk membuat build GStreamer minimalis.
  • Menambahkan kemampuan untuk membangun dengan FFmpeg 5.0.
  • Untuk Linux, versi codec MPEG-2 dan VP9 telah diterapkan, beroperasi tanpa menyimpan status (Stateless).
  • Untuk Windows, dukungan AV3 dan MPEG-11 telah ditambahkan ke dekoder berbasis Direct1D2/DXVA.

Sumber: opennet.ru

Tambah komentar