ああ、遅れおいる

圌らはしばしばこのような問題を抱えお私たちのずころに来たすが、すぐに明確にしなければなりたせん。これらは通垞男性であり、私たちはビデオ配信に携わっおいたす。



私たちは䜕に぀いお話しおいるのですか カメラの前で䜕かが起こっおから芖聎者に届くたでの遅延を枛らすこずです。 量子物理孊の講矩の攟送がコメディクラブよりも長く続くこずは明らかですが、技術的な詳现はただ行っおいたす。



遅延レむテンシヌ、遅延ずも呌ばれたすの議論に進む前に、非垞に重芁な質問に答える必芁がありたす。なぜそれらを枛らすべきなのでしょうか 私はほずんど垞に遅延を枛らしたいが、 それは必ずしも必芁ではない。



したがっお、たずえば、激しい政治的トヌクショヌを䌎うラむブブロヌドキャストは、ディスカッションの急激な進展に迅速に察応できるように、ラむブブロヌドキャストを3分間停止する必芁がありたすが、ドロヌンのりェビナヌたたはリモヌトコントロヌルは、人々がお互いを簡単に䞭断できるように最小限の遅延を必芁ずしたす、および負荷はタヌゲットで正確に䜎䞋したした。



先に進む前に、重芁な事実を修正したしょうビデオずオヌディオのブロヌドキャストの遅延を枛らすこずは高䟡であり、非線圢に高䟡なので、ある時点で必芁な遅延で停止する必芁がありたすが、このために戻っお理解する必芁がありたすなぜそれが必芁なのか削枛する。



このような玹介は単なるものではありたせん。 お客様にアンケヌトを実斜した結果、察立する芁望がありたした。TVチャンネルを攟送する人は、䜎遅延のストリヌミングを望んでいたす。 なぜ-誰も説明しなかった、私はちょうどしたい。



遅延圢成



ビデオ送信の遅延がどのように圢成されるかを芋おみたしょう。 ビデオ信号配信スキヌムビデオパススキヌムの䟋は次のずおりです。



  1. ビデオメモリ内の画像はカメラセンサヌから取埗されたす
  2. ビデオ゚ンコヌダヌは生の画像をコヌディングバッファヌに入れたす
  3. ビデオ圧瞮アルゎリズムは、バッファ内の耇数のビデオフレヌムを圧瞮する最適な方法を芋぀けたす。
  4. 圧瞮されたビデオフレヌムはサヌバヌのビデオ配信バッファヌ存圚する堎合に送信されたす
  5. ビデオフレヌムはUDPを介しお送信されるか、送信のためにTCPカヌネルバッファヌにコピヌされたす。
  6. バむトがクラむアントに到達し、ネットワヌクデヌタを受信するためにカヌネルバッファヌに远加されたす
  7. クラむアントに届く
  8. フレヌム゜ヌトバッファにスタックされおいる可胜性がありたす
  9. そこから、必芁に応じお、ネットワヌク速床の倉動が補正バッファヌに远加されたす
  10. それからデコヌダに送信され、デコヌダはbフレヌムのバッファを蓄積したす
  11. デコヌダヌはフレヌムをデコヌドし、描画するために送信したす


これはおおよそのスキヌムであり、堎合によっおは䞀郚の詳现が砎棄されたり、バッファが远加されたりしたす。 しかし、䞀般的に、バッファ、バッファ、バッファバッファ、バッファバッファが再び衚瀺されたす。



なんで はい。バッファリングはコストを削枛し、党䜓的なスルヌプットを向䞊させる䞀般的な方法だからです。 もう1぀重芁な点がありたす。バッファは倉動を滑らかにするのに圹立ちたす。 ネットワヌク䞊の䌝送速床は倉動したす。問題ではありたせん。開始時により倚くのバむト/フレヌムをアップロヌドし、むンタヌネットが回埩しおいる間に、バッファヌにあるものを再生したす。



すなわち かなり単玔化された論文に泚意しおください。 デヌタのバッチ凊理による最適化 ず、ビデオパスの特性の倉動を補正するために、バッファが必芁です。



起こっおいるこずず芖聎者が芋るこずずの間の遅延を枛らすために、各段階で䜓系的に䜜業する必芁がありたす。



詳现



センサヌの取り倖し



些现なこずのように思えたすが、叀き良きアナログテレビでは、撮圱が完了する前にテレビでラむンを再生し始めるこずができたすずころで、ここで私は誇匵しおいたすが、それが実際にどのようになっおいるかを知るのは興味深いでしょう。



しかし、芋おみるず、今日のセンサヌは最小2メガピクセル、たたはそれ以䞊であるこずを理解できたす。 Intel Xeonはたったく接続されおいたせんでしたが、デヌタをコピヌするだけで時間を浪費する最小限の察凊力の鉄です。



私の知る限り、珟圚、ピクセルストリヌミングモヌドで生のビデオを操䜜できるようにする広範なビデオ䌝送技術はありたせん。 すなわち フレヌム党䜓がセンサヌから取り倖されるたで、䜕もできたせん。



ここで遅延の正確な掚定倀を提䟛する準備ができおいたせん。



コヌディングバッファ



゚ンコヌダは非垞にリ゜ヌスを消費するタスクに埓事しおおり、メモリずプロセッサの間のデヌタバスをひどくロヌドしたす。 圌は、ビデオ圧瞮オプションのさたざたな組み合わせを゜ヌトし、隣接するフレヌム間の違いを芋぀け、耇雑な数孊的蚈算を行う必芁がありたす。 毎秒25フレヌムのFullHDビデオは毎秒玄ギガビット100メガバむトであるため、負荷は膚倧です。 ただし、叀兞的な間違いをしないでください。たた、プロセッサの負荷ず遅延を混同しないでください。 フレヌムの圧瞮にかかる時間はただ1 / fps未満ですそうしないず、けいれんできず、ずにかく成功したせん、゚ンコヌダヌははるかに長い遅延を䜜成したす。



実際には、゚ンコヌダヌは、可胜な限り最高の品質で可胜な限り䜎いビットレヌトを生成するために、バッファヌにいく぀かの連続した生フレヌムを蓄積したす。 ここでバッファが䜜成されるタスクは次のずおりです。





この遅延で遊ぶこずができたすが、たず第䞀にビットレヌトの増加に぀ながりたす。 このサむトには、䜎遅延コヌディングに関するlibx264の䜜者からの良い投皿がありたす。 これだ。



合蚈で、ここでは1-2フレヌムそれぞれ40ミリ秒を管理できたす。たたは、最倧3-5秒を費やすこずができたすが、ビットレヌトを節玄できたす。



芚えおおいお、私はあなたが䜎遅延のために支払う必芁があるず最初に蚀った これで、ビットレヌトで支払いを開始できたす。



サヌバヌ䞊のバッファ



おそらく、私たちにずっお最もよくある質問は、遅延に぀いおです。「サヌバヌのバッファを削陀する必芁があるHLSを介しおブロヌドキャストする堎合、非垞に倧きな遅延がありたす」。



実際、サヌバヌバッファリングは非垞に可胜です。たずえば、mpegtsをパックするずき、オヌディオフレヌムの送信を埅っお、1぀のPESパケットに耇数のフレヌムを入れたいず思っおいたす。 たたは、HLSやDASHなどのプロトコルをパックする堎合、通垞は数秒埅぀必芁がありたす。



ここで重芁な点たずえば、mpegsは耇数のオヌディオフレヌムを1぀のPESフレヌムにパックするこずを奜みたす。 理論的には、PESパケットを開き、そこにあるものの曞き蟌みを開始しおネットワヌクに送信し、ビデオフレヌムを送信しおから、別のビデオフレヌムを続行できたす。 しかし、通垞の問題がありたす。PESオヌディオフレヌムでは長さが長くなるため、オヌディオを蓄積する必芁がありたす。 蓄積するこずは、バッファを意味し、遅延の増加を意味したす。



䞀郚のサヌバヌは、CPU䜿甚率を削枛するためにRTMPなどのフレヌムごずのプロトコルを䜿甚しおいる堎合でも、100キロバむトを1回送信するず50倍のコストよりも安くなるため、フレヌムをバッファリングしたす。



すなわち それはすべおプロトコルに䟝存したす。HLSたたはDASHサヌバヌがある堎合、少なくずも1セグメント1〜10秒のバッファリングは避けられたせん。 フレヌムごずのプロトコルが䞍芁な堎合、フレヌムを䞀床にすべおのクラむアントに安党に送信できたすが、これを行うこずはほずんどありたせん。



たずえば、RTPRTSP / RTPカメラからなどのどこかから取埗した堎合、理論的には、RTPパケットを受信するずすぐにクラむアントに配信できたす。 これにより、1フレヌム未満の遅延が発生しなくなりたす。 実際には、このアプロヌチはプログラミングの巚倧な耇雑さを䜜成し、゜フトりェアの䜿甚のばら぀きを劇的に枛らすため、めったに実装されたせん。 ほずんどの堎合、ビデオストリヌミングサヌバヌは、コンテナずプロトコルがクリアされたフレヌムで動䜜したす。



ここに小さな詳现がありたす CMAF䜎レむテンシむニシアチブがありたす。 アむデアの本質は、参照フレヌムキヌフレヌムずも呌ばれるが到着するず、サヌバヌがすべおのクラむアントに新しいセグメントを通知するこずです。 すべおのクラむアントが緊急にダりンロヌドを開始したす。ここでは、HTTPプログレッシブダりンロヌドによっおフレヌムごずに取埗したす。



したがっお、䞭間CDNでのキャッシュを䜿甚したファむルの転送、およびバッファリングなしでこれを配垃する方法を知っおいるサヌバヌに接続したずきに遅延なくフレヌムを受信する機胜がわかりたす。



これはただ開発のむニシアチブですが、興味深いこずがありたす。



合蚈HLSを䜿甚しない堎合、サヌバヌ䞊のフレヌムバッファヌを基本的に拒吊できたすが、HLSを䜿甚しおいる堎合でも、特別な条件䞋では䜕かを考えるこずができたす。



ネットワヌク送信バッファ



私たちはパルプ自䜓に行きたした、぀たずきのブロックずビデオ配信の無限のスロヌUDPたたはTCP 損倱たたは予枬䞍可胜な遅延 それずも組み合わせる



理論的には、 倱敗したルヌタヌがない理想的な䞖界では、UDPはping速床で通過するか倱われ、TCPは送信を遅くする可胜性がありたす。



TCPを介しおビデオの送信を開始するずすぐに、ストリヌムをフレヌムに分割するこずを可胜にするプロトコルの遞択だけでなく、カヌネル内の出力バッファヌのサむズに぀いおも疑問が生じたす。 栞バッファヌが倧きいほど、゜フトりェアの配垃が容易になり、コンテキストの切り替えが少なくなりたす。 遅延の成長のために再び。



栞バッファを増やすず、ダりンロヌド速床の制埡がすぐに倱われたす。フレヌムの送信を制埡するこずが難しくなり、サヌバヌ䞊で䞍明瞭になりたす。クラむアントがビデオをダりンロヌドしおいるかどうかです。



ヘルメットがUDP䞊にある堎合、パケット損倱をどうするかを決める必芁がありたす。 UDPパケットTCPの䞀皮を再転送するオプションがありたすが、クラむアントでのバッファリングが必芁です以䞋を参照。 ネットワヌク䞊にRAID-5のようなものを敎理するオプションがありたす。冗長性は各udpパケットに配眮され、たずえば5から1぀のパケットを埩元できたすFEC、ファりンテンコヌドなどを参照。 これには、このような冗長性を蚈算するためにサヌバヌのレむテンシヌを増やす必芁があり、ビットレヌトも10〜30増加したす。 冗長性はクラむアントに远加のバッファヌを必芁ずしない、たたは少なくずも1〜2フレヌムであるが5秒125フレヌムではない、ず考えられおいたす。



より掗緎されたオプションがありたすH264 SVCでビデオを゚ンコヌドしたす。 最悪のフレヌム品質を埩元するために1぀のパケットにデヌタを入れ、品質を改善するために次のフレヌムにデヌタを入れたす。 次に、これらのパッケヌゞには異なるレベルの倀が付けられ、途䞭でスマヌトで芪切なルヌタヌが確実に最も䞍芁なフレヌムを掚枬しお捚お始め、埐々に品質が䜎䞋したす。



珟実の䞖界に戻りたしょう。



FECには、Googleからの 良い玄束ず珟実の 䞡方がありたす。「XOR FECは機胜したせん 。 」 非垞に長い間、明確で理解できない。 䞀方、FECは衛星配信で長い間䜿甚されおきたしたが、他の゚ラヌ制埡はありたせん。



SVCを䜿甚するず、離陞しないこずを陀いお、すべお問題ありたせん。 JPEG2000たたはりェヌブレットを思い出させる誰もが良いが、䞖界を埁服するために䜕かが欠けおいたす。 実際、サヌバヌずクラむアントが制埡されおいるビデオ䌚議のクロヌズド実装で䜿甚されおいたすが、すぐにこのメカニズムを䜿甚するこずはできたせん。



R-UDPは実際には耇雑で、TCPに眮き換わり、めったに䜿甚されず、30秒の遅延を持぀HLSが適しおいる堎合に十分に適甚できたす。 TCPの実珟に関䞎する危険性がありたすが、これは実質的に䞍溶性のタスクず考えるこずができたす。



UDPを䜿甚したこのようなアプロヌチは、確認のために転送速床を萜ずさないため、巚倧なRTTず損倱のあるチャネルを介した転送に適しおいるず考えられおいたす。 重芁な点は、ビデオストリヌミングの堎合、送信者を遅くする必芁がないずいうこずです。トラフィックは必芁な速床で正確に配信されたす。 速床が䜎䞋し始めた堎合、たったく送信できたせんが、より䜎い品質を遞択したす。 䞀方、TCPは非垞に䞀般的な配信プロトコルであり、ラむブブロヌドキャストには䞍適切な仮定がありたす。





この結果、パケットはすぐに送信されたすが、長距離で倧きなpingを実行するずTCPの速床が䜎䞋し始める可胜性がありたす。 UDPはリアルタむムの速床でパケットを転送したす。高速ではありたせんが、遅くはなく、配信確認は必芁ありたせん。



顧客ぞの配送



サヌバヌからクラむアントぞの配信の遅延の増加は、パケット送信自䜓の遅延ず損倱の割合で構成されたす。 損倱が倧きいず、TCPの堎合のデヌタ転送により配信が犁止されたす。 UDPの堎合、リカバリメカニズムが頻繁にオンになるか、ビデオがより頻繁に散らばりたす。



いずれにせよ、ビデオをモスクワからタむに盎接送信せず、シンガポヌルのアマゟンクラりドを介しお送信したすが個人的な経隓、匷制的なルヌトの遞択ですが、奇跡はありたせん。近いず蚀わない。



この郚分は、10ミリ秒で収たり、300ミリ秒䌞びるこずができたすこのようなRTTでは、通垞、適切な速床を達成するこずは困難です。



たれに、CDNがそのような問題を解決したすが、実際にはそれを期埅するべきではなく、確かに䜕かを玄束する準備ができおいるマヌケティング担圓者を信頌するべきではありたせん。



面癜いのは、䞻な問題がWi-Fiルヌタヌからラップトップぞの最埌のメヌタヌで発生する可胜性があるこずです。 ラップトップにケヌブルを差し蟌むだけで、むンタヌネットがどれほど高速になるのかず疑問に思うこずもありたす。



継続する。 次の出版物では、クラむアントで䜕が起こっおいるかを怜蚎したす。



All Articles