Π‘Π»Π΅Π΄Π²Π°ΠΉΠΊΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅Π»ΠΈΠ· , Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π°Π±ΠΎΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΈΡΠΎΠΊΠ° Π³Π°ΠΌΠ° ΠΎΡ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΡ ΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΠ»Π΅ΡΡΠΈ ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΎΡΠΈ Π½Π° Π°ΡΠ΄ΠΈΠΎ/Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΎ 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. ΠΠΈΠ½Π°ΡΠ½ΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π½Π°Π»ΠΈΡΠ½ΠΈ ΡΠΊΠΎΡΠΎ. Π·Π° Android, iOS, macOS ΠΈ Windows (Π² Linux ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΠΎΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ°).
ΠΠ»ΡΡΠΎΠ²ΠΈ GStreamer 1.16:
- Π ΡΡΠ΅ΠΊ WebRTC Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° P2P ΠΊΠ°Π½Π°Π»ΠΈ Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» SCTP, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ TURN ΡΡΡΠ²ΡΡΠΈ (ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° STUN Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° NAT);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ΄Π΅ΠΊΠ° AV1 Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Matroska (MKV) ΠΈ QuickTime/MP4. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° AV1 ΠΈ Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ Π±ΡΠΎΡΡ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈΡΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈ Π·Π° Π²Ρ ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ°;
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° , ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅ ΠΈ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ ΠΎΡ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° Π΄ΡΡΠ³ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ (ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΠ°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π·Π²ΡΠΊ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ ΠΏΡΠ΅Π· ΡΠΈΡΡΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π² Π½Π΅Π΄ΠΈΡΠΏΠ»Π΅ΠΉΠ½ΠΈ ΡΠ°ΡΡΠΈ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°Π·Π²Π΅ΡΡΠΊΠ°ΡΠ°);
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π½Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½ΠΈ (raw) Π·Π²ΡΡΠΈ Π±Π΅Π· ΠΈΠ½ΡΠ΅ΡΠ»Π΅Π²ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΈΡΠ΅ ΠΊΠ°Π½Π°Π»ΠΈ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° (Non-Interleaved, Π»Π΅Π²ΠΈΡΡ ΠΈ Π΄Π΅ΡΠ½ΠΈΡΡ Π·Π²ΡΠΊΠΎΠ² ΠΊΠ°Π½Π°Π» ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ»Π΅Π²ΠΈΡΠ°Ρ Π² ΡΡΠΈΠ»Π° βLEFT|RIGHT|LEFT|RIGHT|LEFT|RIGHTβ);
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΏΠ»ΡΠ³ΠΈΠ½ΠΈ (gst-plugins-base) ΡΠ° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ (ΠΊΠ»Π°Ρ Π·Π° ΡΠΌΠ΅ΡΠ²Π°Π½Π΅ Π½Π° raw Π²ΠΈΠ΄Π΅ΠΎ), (ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° videomixer) ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ OpenGL mixer (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±ΡΡ Π° Π² Π½Π°Π±ΠΎΡΠ° βgst-plugins-badβ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΠ»Π΅Π²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ°, ΠΏΡΠΈ ΠΊΠΎΠ΅ΡΠΎ Π²ΡΠ΅ΠΊΠΈ Π±ΡΡΠ΅Ρ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΏΠΎΠ»Π΅ Π² ΡΠ΅ΡΠ΅ΡΡΡΡΠΎΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π³ΠΎΡΠ½ΠΎΡΠΎ ΠΈ Π΄ΠΎΠ»Π½ΠΎΡΠΎ ΠΏΠΎΠ»Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ»Π°Π³ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π±ΡΡΠ΅ΡΠ°;
- Π Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° Π½Π° ΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Matroska Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° WebM ΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ;
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² Π΅Π»Π΅ΠΌΠ΅Π½Ρ wpesrc, ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΊΠ°ΡΠΎ Π±ΡΠ°ΡΠ·ΡΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠΊΠ° (ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ° ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ Π½Π° Π΄Π°Π½Π½ΠΈ);
- ΠΠ° 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;
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
