Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅ΡΠΈ Xiph.Org ΠΏΡΡΠ½Π° Π°ΡΠ΄ΠΈΠΎ ΠΊΠΎΠ΄Π΅ΠΊΠ° Opus 1.4.0, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΠΏΠΎΡΠΎΡΠ½ΠΎ Π°ΡΠ΄ΠΈΠΎ Ρ Π²ΠΈΡΠΎΠΊ Π±ΠΈΡΡΠ΅ΠΉΡ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π³Π»Π°ΡΠΎΠ²Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π² VoIP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π° Π»Π΅Π½ΡΠ°. Π Π΅ΡΠ΅ΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π΅Π½ΠΊΠΎΠ΄Π΅ΡΠ° ΠΈ Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π°Ρ ΠΏΠΎΠ΄ BSD Π»ΠΈΡΠ΅Π½Π·. ΠΡΠ»Π½ΠΈΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠ° Opus ΡΠ° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ, Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ ΠΈ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ (RFC 6716).
ΠΠΎΠ΄Π΅ΠΊΡΡ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΡΡΠ΅Π· ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΡ ΠΊΠΎΠ΄Π΅ΠΊΠ° CELT Π½Π° Xiph.org ΠΈ ΠΊΠΎΠ΄Π΅ΠΊΠ° SILK Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π½Π° Skype. ΠΡΠ²Π΅Π½ Skype ΠΈ Xiph.Org Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Opus ΡΡΠ°ΡΡΠ²Π°Ρ Π° ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΊΠ°ΡΠΎ Mozilla, Octasic, Broadcom ΠΈ Google. ΠΠ°ΡΠ΅Π½ΡΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² Opus, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅, ΡΡΠ°ΡΡΠ²Π°ΡΠΈ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°, Π·Π° Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π° Π±Π΅Π· Π·Π°ΠΏΠ»Π°ΡΠ°Π½Π΅ Π½Π° Π°Π²ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π°. ΠΡΠΈΡΠΊΠΈ ΠΏΡΠ°Π²Π° Π²ΡΡΡ Ρ ΠΈΠ½ΡΠ΅Π»Π΅ΠΊΡΡΠ°Π»Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ ΠΈ ΠΏΠ°ΡΠ΅Π½ΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Opus, ΡΠ΅ Π΄Π΅Π»Π΅Π³ΠΈΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Opus, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΌΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΠΎΠ±Ρ Π²Π°ΡΠ° ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡ ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠ°Π²Π° ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΡΡ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠ°ΡΠ΅Π½ΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ, Π·Π°ΡΡΠ³Π°ΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈΡΠ΅ Π½Π° Opus, ΡΡΠ΅ΡΡ Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° Opus.
Opus ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π²Π° Ρ Π²ΠΈΡΠΎΠΊΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ ΠΊΠ°ΠΊΡΠΎ Π·Π° Π°ΡΠ΄ΠΈΠΎ ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Ρ Π²ΠΈΡΠΎΠΊ Π±ΠΈΡΡΠ΅ΠΉΡ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π³Π»Π°ΡΠΎΠ²Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° VoIP ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠ΅ΡΡΠΎΡΠ½Π° Π»Π΅Π½ΡΠ°. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Opus Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ·Π½Π°Ρ Π·Π° Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡ ΠΊΠΎΠ΄Π΅ΠΊ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° 64Kbit Π±ΠΈΡΡΠ΅ΠΉΡ (Opus ΠΈΠ·ΠΏΡΠ΅Π²Π°ΡΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ Apple HE-AAC, Nero HE-AAC, Vorbis ΠΈ AAC LC). ΠΡΠΎΠ΄ΡΠΊΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Opus ΠΎΡ ΠΊΡΡΠΈΡΡΠ°, Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π±ΡΠ°ΡΠ·ΡΡΠ° Firefox, ΡΠ°ΠΌΠΊΠ°ΡΠ° GStreamer ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° FFmpeg.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Opus:
- Π‘ΠΊΠΎΡΠΎΡΡ ΠΎΡ 5 Π΄ΠΎ 510 Kbit/s;
- Π§Π΅ΡΡΠΎΡΠ° Π½Π° ΡΠ΅ΠΌΠΏΠ»ΠΈΡΠ°Π½Π΅ ΠΎΡ 8 Π΄ΠΎ 48KHz;
- ΠΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎΡΡ Π½Π° ΠΊΠ°Π΄ΡΡΠ° ΠΎΡ 2.5 Π΄ΠΎ 120 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ (CBR) ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ² (VBR) Π±ΠΈΡΡΠ΅ΠΉΡ;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΡΠ½ΠΎΠ»Π΅Π½ΡΠΎΠ²ΠΎ ΠΈ ΡΠΈΡΠΎΠΊΠΎΠ»Π΅Π½ΡΠΎΠ²ΠΎ Π°ΡΠ΄ΠΈΠΎ;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π³Π»Π°Ρ ΠΈ ΠΌΡΠ·ΠΈΠΊΠ°;
- Π‘ΡΠ΅ΡΠ΅ΠΎ ΠΈ ΠΌΠΎΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°;
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π±ΠΈΡΡΠ΅ΠΉΡ, ΡΠ΅ΡΡΠΎΡΠ½Π° Π»Π΅Π½ΡΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ°;
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° Π°ΡΠ΄ΠΈΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΏΡΠΈ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΠ°ΠΌΠΊΠ° (PLC);
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΎ 255 ΠΊΠ°Π½Π°Π»Π° (ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΈ ΠΊΠ°Π΄ΡΠΈ)
- ΠΠ°Π»ΠΈΡΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠ° Ρ ΠΏΠ»Π°Π²Π°ΡΠ° ΠΈ ΡΠΈΠΊΡΠΈΡΠ°Π½Π° Π·Π°ΠΏΠ΅ΡΠ°Ρ.
ΠΠ»ΡΡΠΎΠ²ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π² Opus 1.4:
- ΠΠ·Π²ΡΡΡΠ΅Π½Π° Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅, Π½Π°ΡΠΎΡΠ΅Π½Π° ΠΊΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ±Π΅ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π·Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° Π·Π²ΡΠΊΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° FEC (Forward Error Correction) Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π³ΡΠ±Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΏΡΠΈ Π±ΠΈΡΡΠ΅ΠΉΡ ΠΎΡ 16 Π΄ΠΎ 24 kbs (LBRR, Low Bit-Rate Redundancy).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ OPUS_SET_INBAND_FEC Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° FEC ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π½ΠΎ Π±Π΅Π· ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ SILK (FEC Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΠ΅ΠΆΠΈΠΌ CELT).
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° DTX (Discontinuous Transmission), ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΠΊΠ° ΠΏΡΠΈ Π»ΠΈΠΏΡΠ° Π½Π° Π·Π²ΡΠΊ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Meson ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° CMake.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ βReal-Time Packet Loss Concealmentβ Π·Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΡΠ΅Ρ, Π·Π°Π³ΡΠ±Π΅Π½ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅Ρ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° βΠ΄ΡΠ»Π±ΠΎΠΊΠΎ ΠΈΠ·Π»ΠΈΡΡΠΊβ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π²ΡΠΊΠ° ΡΠ»Π΅Π΄ Π·Π°Π³ΡΠ±Π° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru