Appleのひどく不安定なライブ配信は、JavaScriptの不具合が原因だった

Appleのひどく不安定なライブ配信は、JavaScriptの不具合が原因だった

  • Oligur
  • 0
  • vyzf
Appleのひどく不安定なライブ配信は、JavaScriptの不具合が原因だった
  • ニュース
appletvtruckschedule
iPhone 6 Plusの新しい横向き表示。写真:クリス・ローマン

昨日のフリントセンターでは Apple Watch が注目を集めたかもしれないが、多くのファンにとって、最初の 30 分間を視聴するのはサファイアクリスタルガラスを傷つけるのと同じくらい不可能だった。

Apple TVとSafariでイベントを視聴しようとしたファンは、カラフルなバーとApple TVのトラックスケジュールに迎えられました。たとえライブストリーミングに接続できたとしても、メインフィードで中国語の翻訳トラックが大音量で再生されていたため、ティム・クック氏とフィル・シラー氏の発言を聞き取るのはほぼ不可能でした。

禅のような精密さでマーケティングイベントを遂行する企業としては、最初の30分はまさに惨憺たる結果だった。しかし、Streaming Mediaのダン・レイバーン氏によると、番組を台無しにしたのはほんの数行の単純なエラーだったという。レイバーン氏はAppleのサイトのメタデータとコードを徹底的に調査した結果、問題の根本原因を突き止めた。それは数行のJavaScriptだったのだ。

Appleはapple.comページにJSON(JavaScript Object Notation)コードを追加することを決定し、イベントに関するツイートを表示するインタラクティブな要素をページの下部に追加しました。その結果、ページは数ミリ秒ごとに更新呼び出しを行うようになりました。AppleがJSONコードを追加することを決定したことで、apple.comのウェブサイトはキャッシュ不可能になり、ページとストリームの読み込みパフォーマンスに大きな影響が出ています。

JSON コードからのすべての更新呼び出しのせいで、プレーヤーはストリームのリクエストが実際よりも多いと認識し、人為的にビデオの品質を低下させてビットレートを下げたようです。」

Appleはビデオストリーム配信にAkamaiのコンテンツ配信ネットワークのみを利用していましたが、JSONコードが原因でAkamaiのサーバーはページをキャッシュできませんでした。Appleはビデオをウェブページに直接埋め込んでいたため、ページのパフォーマンスに問題が発生するとビデオにも影響が出ました。

わかったけど、最初の27分間、ティムとフィルの話を遮って喋りまくっていたうるさい中国語通訳はどうなんだ? あれは全部Appleの責任だ。従業員がエンコーダを正しく設定していなかったせいで、メインストリームとバックアップストリームが同期していなかったんだろう(イベント前に二重に曲が流れていたのもこれで説明がつく)。

レイバーン氏は、イベント開始後にエンコーダーが再起動されたと考えている。そのため、Apple TV および iOS ユーザーがフィードにアクセスしようとしたときに、「ムービーを読み込めませんでした」や「アクセス権がありません」というエラーメッセージが表示されたという。

出典: ストリーミングメディア