Kyle & Drunik
Kyle Kyle
Π‘Π»ΡƒΡˆΠ°ΠΉ, Π”Ρ€ΡƒΠΆΠΈΠΊ, Π²ΠΈΠ΄Π΅Π» Ρ‚Ρƒ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ стриминга с Π½ΠΈΠ·ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ? Говорят, Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Π΄Π²ΠΎΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚. Π”ΡƒΠΌΠ°ΡŽ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ для Π»Π°ΠΉΠ²-Π΄Π΅ΠΌΠΎ. Но ΡƒΠ²Π΅Ρ€Π΅Π½, Π³Π΄Π΅-Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ нюанс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π΅Π·Π°Ρ‚ΡŒ миллисСкунды с кодирования. ПодскаТСшь ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π³Π΅Π½ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΈΡˆΠΊΠΈ?
Drunik Drunik
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, сначала просто ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉ энкодСр β€” смотри Π½Π° ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΈ кэша, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ЦП. Π—Π°ΠΊΡ€Π΅ΠΏΠΈ ΠΏΠΎΡ‚ΠΎΠΊ кодирования Π·Π° ΠΎΠ΄Π½ΠΈΠΌ ядром, Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ β€” Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ; это ΡƒΠ±Π΅Ρ€Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ контСкста. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ с нСбольшими Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ расходами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пропуск ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚, ΠΈ Ссли смоТСшь, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ². Π’ΠΊΠ»ΡŽΡ‡ΠΈ самый быстрый Ρ€Π΅ΠΆΠΈΠΌ Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ энкодСрС, Π½ΠΎ слСди, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ Π±Ρ‹Π» достаточным, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π±ΡƒΡ„Π΅Ρ€Π°. И Π΅Ρ‰Ρ‘, ΠΎΡΡ‚Π°Π²ΡŒ сСтСвой сокСт Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ отправляй ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ сразу послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π΅ΠΊΠ°; врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΡƒΡ„Π΅Ρ€Π° оТидания ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ 5 мс вмСсто 20. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Π½Π° нСсколько миллисСкунд.
Kyle Kyle
Π­ΠΉ, это Ρ‚Ρ‹ сСйчас Π²Ρ‹Π΄Π°Π», Π”Ρ€ΡƒΠΆΠΈΠΊ. Π―Π΄Ρ€Π° Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΡˆΡŒ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠ°Π΄Ρ€Ρ‹ Ρ€ΠΎΠ½ΡΠ΅ΡˆΡŒ? Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ‚Ρ€ΡŽΠΊ Π½Π° ΠΊΠ°Π½Π°Ρ‚Π΅ Π²Ρ‹Ρ‚ΡΠ½ΡƒΡ‚ΡŒ – рискованно Π΄ΠΎ нСприличия, Π·Π°Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΊΡ€ΡƒΡ‚ΠΎ. Π― Π·Π° эту Π½ΠΈΠ·ΠΊΠΎΠ»Π°Ρ‚Π΅Π½Ρ‚Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π•ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ быстрыС способы ΡƒΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ ΠΎΡ‚ срыва, ΠΊΠΎΠ³Π΄Π° я Π² прямом эфирС?
Drunik Drunik
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, старайся Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° Π½Π° минимальном ΠΊΡ€Π°Ρ‚Π½ΠΎΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ моТСшь ΠΎΡΠΈΠ»ΠΈΡ‚ΡŒ – ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 2 ΠΈΠ»ΠΈ 3 ΠΊΠ°Π΄Ρ€Π°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ ΠΏΡƒΡΡ‚ΡŒ Π΄Π΅ΠΊΠΎΠ΄Π΅Ρ€ считываСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π±Π΅Π· копирования – zero-copy ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, сбрасывай ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠ°Π΄Ρ€ ΠΈ обнуляй счСтчик Π±ΡƒΡ„Π΅Ρ€Π°, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π²Π°Ρ‚ΡŒ Π΅ΠΌΡƒ расти. И всСгда провСряй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΠ²Π°Π» ΠΏΠΎΡ‚ΠΎΠΊ посрСди очистки ΠΏΠ°ΠΊΠ΅Ρ‚Π°; зафиксируй эти ΠΏΠΎΡ‚ΠΎΠΊΠΈ – ΠΈ Ρ‚Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡˆΡŒ, ΠΊΠ°ΠΊ Π΄ΠΆΠΈΡ‚Ρ‚Π΅Ρ€ ΡƒΠΏΠ°Π΄Π΅Ρ‚ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… миллисСкунд.