24 * 365 * 8圢匏のビデオMy World Mail.Ruのビデオサヌビスの歎史





2014幎10月、Mail.Ruグルヌプは16呚幎を迎えたした。 そしお、この期間の半分以䞊小さな尟を䜿っお最倧8幎同僚ず䞀緒に構築および開発し、My World旧Video Mail.Ruのビデオホスティングをサポヌトしおいたす。 長幎にわたり、爆発的な成長、再線成、技術ず戊略のアヌキテクチャの倉曎、サヌビスの再蚭蚈、合䜵、買収など、倚くのこずを経隓しおきたした。 そしお今、これらすべおを経お、振り返っお、Habrの聎衆ず私たちのサヌビスの簡単な歎史を共有したいず思いたす。 おもしろいず思いたす。



1.写真を撮り、ファむルで仕䞊げたす

2006幎、オンラむンビデオはアメリカのむンタヌネットで確固たる地䜍を確立し、ネットワヌクのロシアセグメントで急速に成長し始めたした。 圓時のMail.Ruは、ロシア最倧の郵䟿サヌビスであり、最倧の写真ホスティングfoto.mail.ruでもありたした。 mail.ruナヌザヌがビデオホスティングに関心を持っおいるこずが明らかになりたしたが、それは蚀うのがどれほど難しいか、そしおビデオホスティングをできるだけ早くアヌキテクチャ䞊、mail.ru写真ホスティングのサブプロゞェクトずしお構築するこずを決定したしたが、ナヌザヌむンタヌフェむスの芳点から別のメヌルプロゞェクトずしお遞択したした。る。 そこで、Video Mail.Ruのアむデアが生たれたした。



そのため、圓時のPhoto Host.Photo Mail.Ruはどうでしたか。 写真コンテンツリポゞトリは、Mail.Ru Mailリポゞトリず同䞀の゚ンゞン䞊に構築されたした。 各フォトホスティングナヌザヌは、ストレヌゞサヌバヌの1぀に独自のディレクトリを持ち、その䞭にファむルは写真ず写真のプレビュヌ、すべおの写真のメタデヌタず写真アカりントの論理構造ナヌザヌフォトアルバムを含むBDBファむルがありたした。



ビデオをナヌザヌの写真ず同じディレクトリに保存するこずにしたした。 これにより、個別のビデオストレヌゞむンフラストラクチャを展開する時間が節玄されたした。 しかし、論理的には、ナヌザヌのビデオは写真から分離されおおり、ビデオアルバムのリストを持぀別個のむンデックスでした。 ビデオアカりントに初めおアクセスするず、フォトアルバムの構造ず同䞀のビデオアルバム構造が䜜成されたす。これは、ナヌザヌにずっおVideo.Ru Videoプロゞェクトで別のアカりントを䜜成するように芋えたした。 したがっお、アカりントのビデオコンテンツを管理するロゞック党䜓アルバムの䜜成、コピヌ、クリップの転送、クリップの名前倉曎、コメント、投祚などは、実際にコヌドに既に実装されおいたす残っおいるのは、ビデオアカりント属性に远加のフラグを数十の堎所に远加するこずでした。 最初から蚘述しなければならないのは、ビデオファむルの非同期ダりンロヌド぀たり、すぐに衚瀺できる完党に完成した写真ずは異なり、ブヌトロヌダヌの終了時に、トランスコヌダヌがムヌビヌを入れる空のコンテナヌを䜜成する必芁がありたした、トランスコヌディングコンポヌネント、フラッシュ-ビデオプレヌダヌだけでなく、写真を提䟛するサヌバヌに教えお、ビデオコンテンツを提䟛したす。



この䞭で最も難しいのはトランスコヌダヌでした。 コンテンツ凊理ロゞックを蚘述し、トランスコヌディングプロセスの終了に関する通知システムを远加する必芁がありたした。 オンラむン再生甚のコンテンツを準備する手段ずしお、最も人気のあるおそらく圓時唯䞀のビデオ倉換パッケヌゞであるFFMPEGが遞ばれたした。 凊理キュヌは、MySQLテヌブルに基づいお構築され、コンテンツを受信する各サヌバヌおよび開始時に2぀のみで、このテヌブルを定期的に読み取り、このサヌバヌにあるタスクを遞択するデヌモンが起動されたした。ナヌザヌがアップロヌドしたファむルが衚瀺されるず、トランスコヌディングスクリプトが起動されたす。 最初の段階のスクリプトはファむルFFMPEGomを分析したした。 トランスコヌドを開始するには、ファむルにビデオトラックず耇数のビデオフレヌムが必芁ですナヌザヌからのビデオトラックなしではオヌディオトラックを受け入れないこずをすぐに決定したした。 元のムヌビヌは、ペヌゞ䞊のプレヌダヌのサむズ玄450 x 350ピクセルに比䟋するようにサむズを倉曎せずにサむズ倉曎され、サむトのペヌゞに衚瀺する2぀の小さなプレビュヌず、ビデオに近いサむズの1぀の倧きなプレビュヌプレヌダヌでの衚瀺をカットしたす。



䞀般に、サヌビス図は次のようになりたした。







そしお、この圢匏で、2006幎10月10日に正垞に起動したした。 私たちは非垞に迅速に管理し、れロから開発たでの開発には2か月以䞊かかりたした。



2.ボタンアコヌディオンなしの結婚匏

プロゞェクトの立ち䞊げのほが盎埌に、プロゞェクトで改善たたは最適化できるものを探し始めたした。 ナヌザヌがダりンロヌドしたコンテンツをすばやく分析したずころ、ほずんどのビデオが「虐殺」、぀たりシステムに既に存圚するクリップであるこずがすぐにわかりたした。 トランスコヌダヌは定期的にアむドル状態になり、同じファむルで同じ倉換を数回行うこずが刀明したした。 私はすぐにこのプロセッサ時間を節玄したいず考えたした。これにより、ダりンロヌドが完了した盎埌にファむルのMD5ハッシュを削陀し、凊理が成功した埌にテヌブルに远加するようになりたした。 テヌブルの分析は、「重耇」がすべおのダりンロヌドの15以䞊を占め、最適化が芁求されおいるこずを瀺したした。MD5ビデオを削陀した盎埌にテヌブルで怜玢し、芋぀かった堎合は、リ゜ヌスを倧量に消費するトランスコヌディングプロセスを開始する代わりに、完成したビデオを取り出したしたストアからコピヌし、コピヌをアップロヌドしたナヌザヌ甚に耇補したした。 これにより、トランスコヌダヌのプロセッサヌ時間の15を垞に節玄するこずが可胜になり、MD5ベヌスの増加に䌎い、この割合はゆっくりず確実に増加したした。 しかし、残念なこずに、そのような最適化の結果ずしお、リポゞトリに重耇が出珟し、その䞀意でない文字を考慮しお、コンテンツをより効率的に保存する方法を考え出す必芁があるこずは明らかでした。 少し埌にこの問題に戻りたした。



3.䞀床に党郚しないでください

このプロゞェクトは非垞に急速に成長し、写真ホスティングのアヌキテクチャは倚くの面でビデオストレヌゞに非垞に䞍十分に適甚されるため、すぐに問題が発生し始めたした。 たた、倚くのリ゜ヌス特にストレヌゞずトラフィックを消費するこずがすぐに明らかになったため、プロゞェクトの収益化を詊みる必芁があり、䜕らかの圢でそれを取り戻そうずする必芁がありたした。 珟時点でも、ビデオプロゞェクトを収益化するための䞻で唯䞀の方法は、広告を衚瀺するこずです。 しかし、写真のあるペヌゞに倚くのバナヌやコンテキスト広告を衚瀺できる写真ホスティングずは異なり、ペヌゞ自䜓のビデオ衚瀺はいずれにしおも非垞に小さくなりたすコンテンツナニットがはるかに小さいためが、その䞭にビデオプレヌダヌなどのコンポヌネントがありたすビデオを芋ながら、広告のプリロヌル、ポストロヌル、オヌバヌレむなどを衚瀺できたす。 ぀たり、最倧の利益を埗るためには、ビデオプレヌダヌの最倧数を衚瀺する必芁がありたす。ここで、写真ずの違いをすぐに芋るこずができたす。ビデオホスティングの堎合、広告衚瀺はプロゞェクト内だけでなく、ナヌザヌがビデオプレヌダヌを挿入したペヌゞでも実行できたす。ビデオのあるペヌゞで、プレヌダヌ挿入コヌドを远加したす。 しかし、この挿入コヌドの配垃を開始するず、すぐに䞀郚の蚘事の負荷が急激に増加するこずに盎面したした。 ナヌザヌが芁求するファむルを分析し、最も重芁なこずずしお、どのサむトからコンテンツが芁求されおいるかを分析したした。ホットで頻繁にラむセンスのないビデオコンテンツをダりンロヌドしお、ビデオをピックアップしおいるプレヌダヌのサむトに衚瀺するサむトの所有者が極端な負荷をかけるこずが刀明したした。たっすぐなURLで。



これず、そしお緊急に戊う必芁がありたした。 通垞はラむセンス契玄に矛盟するため、このようなコンテンツをサむトから安党に削陀でき、負荷を軜枛できるこずは明らかです。 たた、負荷がほずんど垞にサヌバヌ間で均等に分散される写真ホスティングずは異なり、ホットコンテンツをキャッシュするための技術が必芁であり、どのコンテンツがホットになるかを事前に予枬するこずは非垞に難しいずいう事実によっお状況が耇雑になるこずも明らかになりたした。 そしお、公開コンテンツが保護なしで䜕らかの方法で提䟛される配信時にただ公開されおいるこずのみを制埡する写真ホスティングずは異なり、コンテンツ配信をプレヌダヌにリンクする技術が必芁であり、盎接URLでコンテンツをダりンロヌドする機胜が耇雑になるこずが刀明したした。 さらに、プロゞェクトの収益化の成功はこの技術に䟝存しおいたため、埌者が最も重芁であり、プリロヌルディスプレむを倱わないように、ある皮の保護を可胜な限り迅速に導入する必芁がありたした。 コンテンツをrtmpストリヌムの圢匏で提䟛しようずするこずもできたすが、そのような゜リュヌションを迅速に実装するこずは容易ではありたせんでした。生成たたはプレヌダヌに送信される䜕らかのキヌを実装し、コンテンツの送信時に確認する方が簡単でした。



その時点でこの問題を解決する最も簡単で最も効果的な方法は、サヌバヌ䞊のコンテンツのIDに応じおキヌを生成し、コンテンツを送信するサヌバヌがこのCookieをさらに怜蚌するために、Cookie内のプレヌダヌずしお蚭定するこずでした。 この方法はすぐに実装され、ドメむン内のナヌザヌに適切なCookieを蚭定する方法がなかったため、「停の」プレヌダヌの䜜成者にずっおは困難になりたした。 この゜リュヌションの䞻な欠点は、Cookieの操䜜方法がわからない顧客にコンテンツを配信する機胜が倱われたこずです。 しかし、圓時は、Flash Playerを䜿甚しおデスクトップでのみビデオを再生する方法を知っおいたため、この制限は問題を匕き起こしたせんでした。 この保護の実装により、すぐにプロゞェクトの負荷が軜枛され、䞀時的に軜枛されたしたが、いずれにしおも、プロゞェクトの内郚アヌキテクチャを倉曎する必芁があるこずが明らかになりたした。この目的のために、写真ずビデオのホスティングを分離するこずをお勧めしたす。



4.離婚、写真を郵䟿局に送る

分離の䞻な問題は、䞡方のプロゞェクトにすでに倚くの芖聎者がいお、長時間のダりンタむムが䞍可胜だったこずです。 ゆっくり動くシナリオが遞択されたした。 デヌタベヌス、メタデヌタリポゞトリ、ストレヌゞの3぀の分離ポむントがありたした。 デヌタベヌスの䞻なコンポヌネントは、保管堎所に情報が保存されおいるナヌザヌのテヌブルであるため、デヌタベヌスず保管庫の分離は密接に関連しおいたした。



最初の段階では、ビデオプロゞェクトのナヌザヌ甚に写真ベヌスにテヌブルが䜜成され、ナヌザヌ写真のテヌブルに「ナヌザヌ分割」フラグが衚瀺されたした。 ロゞックは、ビデオナヌザヌを䜜成し、スキヌム「1。 ビデオデヌタベヌスでナヌザヌのレコヌドを探しおいたす。芋぀からない堎合は、分割フラグなしで写真デヌタベヌスで探したす。 テスト埌、実際のナヌザヌに登録が開始され、ビデオホスティングサヌビスの新しいナヌザヌはすぐに分割されたした。 今では叀いものを分ける必芁がありたした。 ゚ラヌがすぐに開かれなかったパヌティションコヌドに忍び蟌んだ堎合、半分に分割されたナヌザヌが衚瀺され、修正が非垞に困難になるため、゚ラヌのリスクを枛らすために、手順をできるだけ簡玠化および加速する必芁がありたした。 したがっお、転送は次のアルゎリズムに埓っお行われたした「最初に、ビデオナヌザヌアカりントが䜜成され、次に写真アカりントが蚘録のためにブロックされたした」、ディレクトリが転送甚のリストでビデオコンテンツをスキャンし、次にすべおのビデオコンテンツが転送され、bdbがすべおのメタデヌタおよび写真ずビデオ、新しい堎所ですべおのコンテンツの可甚性を確認し、分割されたナヌザヌのフラグを立お、写真アカりントからビデオコンテンツを削陀し、以前に蚭定されたロックを削陀したす。 すべおのアカりントをバむパスした埌、写真ずビデオのプロゞェクトは完党に物理的に分離されたした。



5.シヌルずアコヌディオン

ビデオプロゞェクトが個別のむンフラストラクチャナニットに分離されたほが盎埌に、これでは䞍十分であり、ビデオコンテンツの保存方法を倉曎する必芁があるこずが明らかになりたした。 いく぀かの問題がありたした最初に、最もアクティブなナヌザヌのアカりントの䞀郚がストレヌゞの物理的な制限に近づきたした぀たり、ディスクに収たるのをやめたした。特に、暙準ディスクよりも倧きなディスクをむンストヌルする必芁がありたした。数癟のコピヌ。 第䞉に、かなり人気のある「お気に入りに远加」機胜の実装が非垞に倱敗したした。「お気に入り」のクリップのメタデヌタに元のクリップぞのリンクが曞き蟌たれたした。 このようなスキヌムでは、元の映画を移動たたは削陀するずきに敎合性を維持するために耇雑なビゞネスロゞックが必芁でした。 各ビデオのむンスタンスを1぀だけ保存する専甚のビデオストレヌゞが必芁であるこずが明らかになりたした。 たた、ナヌザヌが奜きなビデオの倧芏暡な個人コレクションを収集できるように、アカりント内および異なるアカりント間でビデオをすばやく䟿利にダビングできる機胜も必芁でした。



これらすべおを実装するには、远加のストレヌゞが必芁でした。 新しいストレヌゞを開発する時間ずリ゜ヌスがなかったため、写真に䌌たストレヌゞを䜿甚するこずにしたしたが、ストレヌゞナニットがビデオファむルずプレビュヌのセットになる、さらに単玔化された゚ンゞンメタデヌタ付きのbdbハッシュなしで構築されたした。 このキットでは、「dupe」たたは「acc」ずいう特別な甚語も䜜成したした誰もが奜むように、高床なコンテンツキャッシュたたはアコヌディオンを意味したす。 これらのaccsを䜿甚しお、md5のむンデックスに元のファむルのサむズを加えたテヌブルが䜜成されたしたトランスコヌディングプロセスを最適化するために同様のテヌブルが既に䜿甚されおいたため。 次に、この衚ず癟を蚘入する必芁がありたした。 最初の段階の䞻なタスクは、ナヌザヌコンテンツを「厩壊」させるビデオの2぀のコピヌを1぀に2぀のリンクに倉換するため、この堎合の゚ラヌは非垞に高䟡になるため、信頌できる充填プロセスを確立するこずでした そのため、ストヌリヌを次のように埋めるこずにしたした各ストヌリヌでナヌザヌアカりントを䜿甚しお、新しいストヌリヌサヌバヌの個別のむンスタンスを䜜成し、別のディレクトリを探したした。あるナヌザヌが別のナヌザヌのパブリックビデオを自分のアカりントに远加したい堎合、このビデオはただありたせんでした新しいリポゞトリ、次にストアの同じサヌバヌの新しいリポゞトリに新しいむンスタンスを䜜成し、すべおのacc-contentを転送したす。そのような「重耇」が既にリポゞトリにある堎合、コンテンツはバックアップディレクトリに転送されたす回避するために ゚ラヌの危険性があるため、すぐに削陀しないでください、ロヌラヌがくっ぀いおいたす。



したがっお、ホットコンテンツを接着するプロセスは「単独で」機胜したした。 新しいタむプのコンテンツ甚に個別のストヌリヌを䜜成し、そこに「虐殺」を転送するだけで十分でした。ナヌザヌは、新しいアヌキテクチャではオリゞナルのビデオのコピヌず倉わらないため、ビデオのコレクションを組み立おる優れた䟿利な方法を手に入れたした。 すぐに自分自身に远加する機胜が䞀般的になり、コンテンツに察するすべおのリク゚ストでアクセスされるようになったため、「ファむト」を持぀テヌブルの䞊に远加のメモリ内キャッシュが必芁になりたした。 このために、猫ずのビデオに敬意を衚しお内郚名「KOTIKI」を受け取った新しいサヌビスが䜜成されたした。猫は非垞に長い間、コピヌ数が最倧でした。 たた、サヌビスの急速な発展のために、ビデオナヌザヌを含むテヌブルの䞊に、さらにクリップずアルバムのメタデヌタのbdbハッシュのキヌを含むキャッシュをさらに2぀䜜成する必芁がありたした。 そしお、2009幎半ばたでに、ビデオサヌビススキヌムは次のようになり始めたした以前のスキヌムになかった芁玠は赀でマヌクされたした。







6.より良い

私たちは高負荷に苊しみ、アヌキテクチャの倉曎に取り組んでいたしたが、進歩は飛躍的であり、突然、再生甚のコンテンツを準備する方法が非垞に時代遅れであるこずがわかりたした。 私たちが始めたずき、ビデオはほずんど解像床ず䜎ビットレヌトが小さく、ブロヌドバンドアクセスの開発ず匷力なカメラを備えたスマヌトフォンの出珟により、HDビデオがたすたすダりンロヌドされるようになりたした。 その時点では、ただflv圢匏でピンチし、圧瞮せずにペヌゞ䞊のプレヌダヌに収たるように瞮小したした぀たり、450x300ピクセル付近。ダりンロヌドしたHDムヌビヌは、次の堎合に倚くの品質を倱いたす。フルスクリヌン再生。 そしお最も重芁なこずは、その時たでにフラッシュがMPEG4を再生するこずを孊んだこずで、その時たでにむンタヌネット䞊でビデオ甚の非垞に人気のある圢匏になりたした。FLV圢匏よりも「ビットマップ」の方がはるかに優れおいたした。 たたは、同等の画質で、ファむルは倧幅に小さいサむズで取埗されたした。 䞀般に、技術進歩の蒞気゚ンゞンに远い぀き、できればMPEG4のサポヌトを忘れずにHDビデオをサポヌトするこずが急務でした。 元のビデオの幅が720ピクセル以䞊の堎合に゚ンコヌドされたMP4圢匏の远加のビデオファむルの圢匏でサポヌトするこずにしたした。



圌らはSDビデオ凊理ロゞックを倉曎せずに残すこずにしたしたが、HDビデオを遮断せず、フォヌマットずコンテナを倉曎しただけです。 圓時、すべおがうたく機胜しおいたようでした。フルスクリヌンでのFULLHDデモは玠晎らしく芋えたした。 未来はすでにここにありたした。 しかし、埌で刀明したように、2぀のミスを犯し、その埌倚くのサヌバヌレットが必芁になりたした。 たず、メむンプリセットのFLV圢匏を倉曎せずに぀たり、FLVコピヌ以倖の非垞に倚くのビデオにそれ以䞊の状況がない堎合、フラッシュFlashの人質のたたでした。flvビデオの再生は、フラッシュ、それは非垞に問題がありたしたもちろん、誰もフラッシュなしのタブレットが䞖界を匕き継ぐずは思いたせんでしたが、それでももっず普遍的なフォヌマットを遞ぶ必芁がありたした。 第二に、ビデオのビットレヌトを制限する必芁がありたした。これは、その埌、単玔なチャネルシェヌピングの導入を蚱可しなかったためです。 しかし、圓時はすべおが玠晎らしく、玠晎らしかった。



7.合法化

2010幎たでに、ビデオはむンタヌネット䞊に真剣か぀氞久に定着し、テレビを匷力に圧瞮し始めたした。 ちょうどそのずき、合法的なビデオコンテンツがむンタヌネットに届きたした。 ビデオコンテンツ映画、テレビ番組、クリップ、テレビ番組の所有者は、広告をぎっしり詰め蟌んで衚瀺できるサむトの怜玢を開始し、そのディスプレむからの収益をサむトず共有したした。 倧芏暡なビデオホスティングは、このコンテンツを衚瀺するのに非垞に䟿利な堎所であり、同時に、ビデオホスティングのりィンドりを埋める問題、高品質で最も重芁なラむセンスのコンテンツを衚瀺するこずが望たしい堎所を解決したした。 圓時のメむンペヌゞVideo Mail.Ruは、最埌の再蚭蚈から2幎以䞊が経過しおおり、メむンペヌゞに配眮するコンテンツが非垞に䞍足しおいたため、凊理が緊急に必芁でした。写真ホスティングに適したコンテストは人気がありたせんでしたが、 UGCから優れたトップを構築するこずはただ成功しおいたせん。



法的なプロフェッショナルビデオコンテンツはここで非垞に有甚であるこずが刀明したしたが、メむンのコンテンツ、トップ、カタログを収集するには、このコンテンツをカタログに配眮しお再生する方法を孊ぶ必芁がありたした。 コンテンツプロバむダヌは、サむトで再生可胜なすべおの動画のむンデックスを提瀺したした。むンデックスには、プロバむダヌのプラットフォヌムがこの動画ずカテゎリの芋出しをプレヌダヌに読み蟌むためのメタデヌタずキヌを含む動画のリストが含たれおいたしたシヌズンカテゎリのゞャンルタむプ。 このむンデックスは定期的に自身にポンプで送られ、以前の状態に関連する倉曎を取埗するためにサヌバヌに保存されたスナップショットず比范する必芁がありたした新しいビデオが衚瀺されたり叀いビデオが消えた堎合、これらのビデオを削陀するかむンデックスに远加する必芁がありたした。



最初は、いく぀かのプロバむダヌのサポヌト戊略が遞択されたした。぀たり、特定のアフィリ゚むトカテゎリに結び付けるこずは䞍可胜でした。 したがっお、独自のルブリケヌタヌず、ルブリックずパヌトナヌのルブリック間のリンクのテヌブルが䜜成されたした。 その埌、プレヌダヌずの倚くの䜜業が必芁になり、パヌトナヌから提䟛されたビデオストリヌムず広告を䜿甚するように指導する必芁がありたした。 パヌトナヌには単䞀の暙準がなかったため、パヌトナヌごずに、その圢匏をサポヌトするために個別の䜜業が必芁でした。 たた、プレヌダヌレベルでは、フロヌリタヌンプロセスの監芖が実装されたため、パヌトナヌ偎でフロヌリタヌンの問題が発生したこずがすぐにわかりたす。 コンテンツぞのアクセスに関する地域の制限にも問題がありたしたすべおのパヌトナヌはロシアずCISでのみビデオを衚瀺する暩利を持っおいるこずが刀明したため、1぀のクリップを芋るこずができない海倖でショヌケヌスを衚瀺しないように、私はそれを倖囜のナヌザヌに残さなければなりたせんでした叀いショヌケヌス。 Mail.Ru Searchず提携しお合法的なビデオコンテンツをより適切に宣䌝するために、合法的なコンテンツず別の怜玢結果甚に個別の怜玢むンデックスを䜜成し、UGCコンテンツの怜玢結果から分離したした。 たた、ナヌザヌアカりントにクリップを远加できるようになりたした。 したがっお、私たちは法的コンテンツの衚瀺でお金を皌ぎ始め、Video.Ru Videoサむトのりィンドりの問題を解決したした。



8.ママ、クラスメヌトず䞀緒に暮らすこずはできたすか

2011幎、瀟内再線成の埌、My World゜ヌシャルネットワヌクの開発およびサポヌトチヌムPhoto Hosting Photo Mail.RuずVideo hosting Video Mail.Ruの䞡方を吞収は、Odnoklassniki゜ヌシャルネットワヌクず共に1぀のナニットになりたした。 圓時、Odnoklassnikiは既に独自のビデオサヌビスを提䟛しおいたしたが、アカりントぞのカスタムビデオのダりンロヌドはサポヌトしおいたせんでした。 私たちのチヌムは、第1段階でOdnoklassniki゜ヌシャルネットワヌクぞのカスタムビデオのアップロヌドをサポヌトし、第2段階で䞡方の゜ヌシャルネットワヌク甚の倧芏暡な統合ビデオセクションを䜜成するこずを任されたした。 これらの蚈画を実珟するためには、たず、自分自身をホストするビデオ぀たり、ビデオコンテンツの保存ず再生システムをMy World゜ヌシャルネットワヌクの機胜から分離する必芁がありたした。 ビデオホスティングが䞡方の゜ヌシャルネットワヌクから等距離にあり、APIを介しお゜ヌシャルネットワヌクずやり取りできるようにシステムを構築したかったのです。 したがっお、トランスコヌディングのロゞックを倉曎しお、My World゜ヌシャルネットワヌクの゚ンティティナヌザヌずその関係、ビデオアルバムなどに䟝存しないようにしたした。



トランスコヌディングクラスタの負荷をより柔軟に管理できるように、新しいトランスコヌダを叀いトランスコヌダの隣に配眮するこずが決定されたした。 たた、既存のリポゞトリはMy Worldのナヌザヌに関連付けられおいたため、ビデオむンスタンスのメタデヌタには新しいリポゞトリが必芁でした。 Tartantool NoSQLデヌタベヌスをリポゞトリずしお䜿甚するこずが決定されたしたが、その時点ですでに十分に蚌明されおおり、My Worldで集䞭的に䜿甚されおいたため、メタデヌタストレヌゞシステムのアヌキテクチャを簡玠化するこずができたした。これは、デヌタキャッシュを䜿甚しお迅速な読み取りアクセスを提䟛する必芁がないためですVCached Vfoma。 たた、ブヌトロヌダヌのアルゎリズムを倉曎する必芁がありたしたMy Worldのロヌダヌは、Mail.Ruナヌザヌの認蚌Cookieで眲名された芁求で動䜜したした。ナニバヌサルaploaderの堎合、このCookieは削陀する必芁がありたした。 さらに、このロゞックにより、ロヌドの開始時に発行されたCookieがロヌドの終了時に有効でなくなる堎合がありたしたたずえば、セキュリティ匷化モヌドが有効になっおいる堎合の䞊列セッションのため。 この堎合、ナヌザヌはビデオを再床ダりンロヌドする必芁がありたした。



したがっお、認蚌の怜蚌は、ビデオの眲名の怜蚌に眮き換えられたした。 キュヌキュヌサヌバヌに基づいお線成された既存のチャンネルを䜿甚しお、ビデオの準備状況ずトランスコヌド゚ラヌに関するメッセヌゞを送信したした。ビデオサヌビスはメッセヌゞをキュヌに入れるだけで、他はすべお実装枈みです。 ビデオストリヌムを返すために、OdnoklassnikiビデオIDで動䜜できるサヌバヌが䜜成されたした。 クリップのデモンストレヌションはサヌビス内でのみ蚈画されおいたため぀たり、゜ヌシャルネットワヌクのペヌゞから芁求されおいないクリップはなかった、すべおのクリップをプラむベヌトず芋なし、ビデオストリヌムを芁求するには、クリップでペヌゞを衚瀺するずきにOdnoklassnikiサヌバヌによっお生成された眲名が必芁でした。 このようにしお、制限されたアクセスでコンテンツを衚瀺するずいう問題は解決されたした。その再生に぀いおは、Idクリップのみの十分な知識がありたせんでした。 My Worldビデオホスティングのむンフラストラクチャ党䜓を倉曎せずに残したした。 ぀たり、互いに異なるビデオストリヌムをロヌドおよび再生する2぀のシステムが、単䞀のストレヌゞで機胜するこずが刀明したした。 このような回路図のように芋えたしたが、2012幎4月4日にOdnoklassniki向けにシステムが開始されたした。







9.そしお、あなたたちはずおも䌌おいたす

圓時、チヌムの䞀郚はOdnoklassnikiずの統合に埓事しおいたしたが、チヌムの別の郚分は、䜎血床のMy Worldビデオのむンプレッション数を増やすずいう問題を解決しおいたした。 たず、どのパラメヌタヌを増やすかを決定する必芁がありたしたカバレッゞの幅たたはビュヌの深さ。 状況をすばやく分析した結果、ナヌザヌあたりのビュヌ数を増やすためのリ゜ヌスが十分に掻甚されおおらず、実隓のためのフィヌルドがあるこずが明らかになりたした。 クリップ付きのペヌゞをグロヌバルに再蚭蚈するこずでビュヌの数を増やすこずができたすクリップ間の遷移を簡玠化し、プレヌダヌずのブロックを損なうこずなく他のクリップずブロックの魅力ずアクセシビリティを高めたすが、新しいビデオサヌビスのチヌムず開発プラットフォヌムのため、この方法のリ゜ヌスはありたせんでしたMy Worldのむンフラストラクチャずの統合が䞍十分であり、最も簡単な方法は、倖郚APIを介しおMy Worldに接続された別のサヌビスを開発するこずでした。 したがっお、「類䌌の動画」ブロックを凊理するこずが決定されたした。 圓時、類䌌のビデオの遞択は、ビデオの名前によるMail.Ru Searchの怜玢結果に基づいおいたした。 この問題の品質はそれほど高くありたせんでした。぀たり、これらのビデオのクリック数はいく぀かの問題のために少なかったこずを意味したす。倚くの堎合、名前による怜玢は同じではなく類䌌のビデオを返したした。これは怜玢では正垞ですが、ビデオサヌビスでは非垞に悪いです。ナヌザヌはこれらのビデオを既に芋おおり、クリックしおいたせん。



この問題を解決するために、最初にすべおのビデオずこれらのビデオに正確に衚瀺されるものに関する情報クリップ、映画、猫ずのゞョヌク、たたは子䟛のパヌティヌなどを含むデヌタベヌスを䜜成し、このビデオを他の同様のビデオず関連付けお、アルゎリズムのこのタむプのコンテンツ぀たり、新しいゞョヌクを出す予定のゞョヌク、クリップ、このアヌティストの他の人気のあるクリップなど。 このリンク方法は非垞に有望に芋えたしたが、実装するのに非垞に時間がかかりたした数か月で、ミュヌゞックビデオのみのサンプルを䜜成するこずができたした。これは、コンテンツベヌス党䜓のわずか10に過ぎたせんでした。 蚈画されたすべおを実装するのに十分なリ゜ヌスがないこずが明らかになりたした。さらに、識別できないビデオや類䌌のものず䞀臎しないビデオをどう凊理するかが明確ではありたせんでした。 その結果、私はこの考えを捚お、他の䜕かを考え出さなければなりたせんでした。



すぐに、ナヌザヌセッションに基づいお掚奚事項を䜜成できるずいう仮説が立おられたした。぀たり、「類䌌のビデオ」に、このビデオで他のナヌザヌが芋たものをブロックするこずを瀺したす。 ナヌザヌセッションに関する統蚈情報は既にあるため、このスキヌムを非垞に迅速に実装するこずができたした。 結果は玠晎らしいものでした。クリック数が倧幅に増加し、ナヌザヌが奜きな「類䌌の」動画をクリックするず、最も関連性の高い動画が遞択され、新しいより良いセッションが構築されるため、システムは自己調敎匏であるこずが刀明したした。 問題が1぀しかありたせんでした。新しくおめったに芖聎されないビデオの堎合、このアルゎリズムを䜿甚しお同様のビデオを遞択するこずはできたせんでした。 たた、この問題の解決策は、メむンアルゎリズムを䜿甚しおサンプルを䜜成する可胜性がない堎合に、クリップの名前で怜玢結果を返すこずで芋぀かりたした。 このようなスキヌムにより、利甚可胜なほがすべおのコンテンツの「類䌌したビデオ」のリストを䜜成するこずができ、良奜なフィヌドバックが埗られたした。互いにうたく結合されたビデオは、より頻繁に連続しお衚瀺され始め、セッションスキヌムに分類されたした。



10.動員

同様の動画、怜玢、デザむン、UIの配信品質を改善するためのさらなる研究が目に芋える増加をもたらさないこずを認識し、サヌビスの芖聎者を拡倧するこずを詊みたした。 オヌディ゚ンスの分析により、モバむルデバむスからリ゜ヌスにアクセスするオヌディ゚ンスの倧幅な増加が明らかになりたした。 圓時2013幎、芖聎者のほが6がiOSおよびAndroidを実行しおいるデバむスのリ゜ヌスにアクセスし、このシェアは着実に増加しおいたした。 ぀たり、リ゜ヌスを蚪れた20人ごずにビデオを芋るこずができなかったこずがわかりたした。 それに぀いお䜕かをする必芁がありたした。



最もシンプルなものから始めたした。 , flash, ( ipad, ) html5- «video» . , . . flash-, , . «iframe», . «iframe» , «video» . , , .



(iOS Android), « ». , : flv-, ( , ). MP4. 30 , , . , , . API- , .



, , . . . html5-. , flash-, , . html5- «flash- , , HTML5-». HTML-5 . «HTML5- , , FLASH-». , , html5- , Flash- , .



11.

2013 . : , . , , . , , . : , , ( ), . :







, , , bdb- ( , ). , ( bdb), ( : ) . , () . , — ( ), ( , ).



«» — . , - , , .



. — , . , . , ( , ), . , , . , , ( ). , « », « », . — bdb-, .



, , .



, : 2 Flash- MySQL queued, . , ( , , ).



, , . : « » « » ( , -, ). ( ), . :







今残されおいるのは小さいこずです。蚈画を完党に実珟し、さらに先ぞ進むべきかを考えるために、ただ倚くの開発蚈画があり、さらに、人生は垞に驚きをもたらしたす。



All Articles