ビデオと字幕 · YouTube サムネイル ダウンローダーとメタデータ ビューアー
Open Graph、oEmbed、および schema.org: リンク プレビューがビデオの読み取りをどのように学習したか
· 背景
YouTube を埋め込みます リンク プレビュー
チャット アプリにビデオ リンクを貼り付けると、プレビューが表示されます。この投稿では、それを可能にする 3 つのメタデータ層、各プラットフォームがどの層を読み取るのか、そしてそもそもなぜパブリック メタデータが存在するのかについて説明します。
リンクを貼り付けてカードを表示 — 誰もが使用し、誰も考えないプレビュー
リッチ カードにはタイトル、画像、宛先を含めることができますが、見た目が同じカードでも異なるメタデータ メカニズムから取得される場合があります。 ToolAcre の YouTube 製品は、直接の oEmbed JSON リクエストという 1 つの特定のメカニズムを実装しています。実装で証明されている以上のことを推測するのではなく、そのリクエストをその正規化されたオブジェクトと比較します。リクエストはユーザーが Fetch を押した後にのみ行われるため、この記事ではローカルでの準備とリモートの取得を区別できます。
チャット アプリケーションのプレビュー パイプラインは再現されません。無関係なクライアントのリバース エンジニアリングではなく、独自のエンドポイントと正規化されたフィールドからの出力について説明します。都合の良い仮定により、失敗した検索が誤解を招くカタログ エントリに変わる可能性があります。これにより、クライアント側で作成されたキャッシュ ストーリーではなく、実際の応答にタイトルや画像の不一致が付加されたままになります。
ここでの Open Graph は概念的なものです。 ToolAcre がウォッチページのメタタグを取得しない
Open Graph は通常、ページ HTML に配置されたメタ タグを指しますが、ToolAcre は YouTube 再生ページを読み込んだり、それらのタグを解析したりしません。ここでの比較は概念的なものであり、このアプリが行うリクエストの説明ではありません。ページ マークアップがないということは、正規化されたレコードと調整するための 2 番目のソースがないことを意味します。したがって、欠落している説明は、要求されていないページから借用されるのではなく、欠落したままになります。
ウォッチページの HTML がツールに入力されないため、Open Graph のタイトル、説明、画像は正規化された oEmbed レコードを補足したり上書きしたりしません。成功したように見えるフォールバックではなく、失敗を観察された応答クラスとして記録します。これにより、ネットワークの拒否がメタデータの不一致として偽装されるのを防ぎます。
oEmbed — 構造化データを返し、リクエストに応じて HTML を埋め込むエンドポイント
oEmbed は実装されたパスです。ブラウザは www.youtube.com/oembed に正規の視聴 URL と format=json を要求し、タイトル、チャンネル、チャンネル URL、サムネイルのサイズ、プレーヤーのサイズ、プロバイダーを正規化します。正規化された形状により、上流の JSON にこのツールが保証していないフィールドが含まれている場合でも、エクスポートが予測可能になります。
生の埋め込み HTML は表示されません。 ToolAcre は、検証されたビデオ ID から応答性の高いプライバシー強化 iframe を独自に作成し、生成されたマークアップをローカル ソース管理下に保持します。アカウントの状態を追加せずに、正確なリクエストをブラウザー トレースにコピーできます。 iframe は、非表示のメタデータを取得するものではなく、後でブラウザーと個別に対話するものです。
schema.org と JSON-LD は概念的なものです。 ToolAcre はそれらを解析しません
schema.org と JSON-LD では、他の構造化メタデータのアプローチについて説明していますが、このアプリは YouTube ページのどちらも解析しません。したがって、検索エンジンの動作とページの注釈は、その証拠の境界外にあります。過去の状態を想定するのではなく、観測値と日付を別々に保持します。これらのフィールドが必要な引用は、認可された情報源に別途参照する必要があります。
これらのレイヤーについて言及することは、開発者の方向性を示すことができますが、ToolAcre がそれらを比較したり、フィールド間の不一致を解決したりすることを意味するものであってはなりません。概念的な比較は機能のチェックリストではありません。競合するタイトルを別のタイトルよりもサイレントに選択するフォールバック マージ操作はありません。
プレビューアプリの動作とキャッシュは ToolAcre の実装の範囲外です
プレビュー アプリケーションが異なれば、レイヤーとキャッシュの選択方法も異なりますが、リポジトリにはチャット クライアント間での実験やキャッシュ検査は含まれません。どのアプリがどのレイヤーを読み取るかについて主張するには、別途引用された調査が必要になります。ストアなしリクエストは依然としてリモート配信とブラウザーのキャッシュ セマンティクスに依存します。 ToolAcre をクリーンに実行しても、サードパーティのプレビュー サービスが何を保持するかを証明することはできません。
ToolAcre 自体は、キャッシュされたプレビュー カードを要求しません。これは、履歴の最新性を保証するのではなく、ブラウザーとネットワークのセマンティクスに従って、キャッシュ モード ストアなしの現在のパブリック oEmbed JSON を要求します。オフライン状態、ブロッカー、または管理されたプロキシによって、応答が妨げられる可能性があります。
作業例: 3 つの発明されたアプリのプレビューではなく、ToolAcre の oEmbed 結果を検査します。
動作チェックの場合は、公開ビデオを 1 つ取得し、エクスポートされた JSON を検査します。タイトル、チャンネル、サムネイル/player のディメンションを NormalizeOembed にマッピングし、説明、ビュー、期間、公開日、キャプションが欠落していることに注意してください。リクエスト内の正規の視聴 URL を、ローカル パーサーによって使用されるビデオ ID と比較します。
アプリのスクリーンショットを 3 つ作成したり、それらを観察せずにそれらの違いをメタデータ レイヤーに帰したりしないでください。実装の証拠は、この 1 つのブラウザの直接の oEmbed 結果のみをサポートします。失敗を観察された応答クラスとして記録します。無効な JSON は応答の失敗であり、空のフィールド セットではありません。
ここで説明しない内容 — 独自のサイトにこれらのタグを設定する方法
別のサイトでのプレビュー タグの設定は、この製品の範囲外です。 ToolAcre は、ユーザーの Open Graph もスキーマ マークアップも作成せず、サードパーティのキャッシュ更新動作を診断しません。その出力は、現在の一般の反応と正確な入力に関連付けられたままです。サイト運営者は、宛先サイト独自のワークフローでこれらのタグを適用する必要があります。
その可用性境界は、サインアウトされた公開 YouTube データのままです。非公開、削除された、年齢制限のあるレコードは復元できず、ネットワーク、HTTP ステータス、または無効な JSON によってメタデータが失敗する可能性があります。名目上の URL は、バイト、メタデータ、または許可が存在する必要があるという証拠ではありません。境界にアクセスする変更を再試行することはできません。
要点: ToolAcre はメタデータに oEmbed のみを使用します
ToolAcre は、直接サムネイル ファイルと並行して、メタデータに oEmbed のみを使用します。 Open Graph、schema.org、および外部キャッシュは隣接システムであり、隠れたステップではありません。過去の比較が重要な場合は、観測値と日付を別々に保持します。結果は、汎用のプレビュー アナライザーではなく、制限されたパブリック レコードになります。
フェッチ前の解析はローカルです。その後、8 つの画像リクエストと 1 つの oEmbed リクエストが、資格情報を省略し、リファラーやストアなしで Google に直接送信され、リダイレクトが続きます。 Google は Origin ヘッダーを認識しますが、ToolAcre サーバーやプロキシはそれらを処理しません。これらの直接リクエストには引き続き Google のログアウト制限が適用され、制限されたマテリアルは取得されません。