既知の問題:Studio、Brightcove プレーヤーおよび API
確認されている既知の問題は以下の通りです:
Studio
- Chrome の翻訳機能を使用すると、Studio の一部機能が動作しなくなる
- Studio モジュールを Chrome の翻訳機能で翻訳すると、一部の機能が正常に動作しなくなります。
Media モジュール
- IE 11 による画像キャプチャ
- 動画のアスペクト比が 1:1 または 4:3 の場合、IE 11 では画像キャプチャが正常に機能しません。
- ダブルバイト文字を含むソースファイル名
- ダブルバイト文字を含むソースファイル名は、Media モジュールで再トランスコード後に文字化けする可能性があります。
- メディア共有
-
大量の動画を共有する場合、Brightcove では一度に最大 2ページ分の動画を共有することを推奨しています。一度に大量の動画を共有すると、タイムアウトエラーが発生する可能性があります。
既に字幕が含まれている共有済み動画に新たに字幕を追加することはできません。
ライブ配信のクリッピングによって作成された動画はメディア共有できません。
- スケジュールされた動画
- Playback API およびカタログが動画を最大 10〜15分間キャッシュするため、数分以内(最大 20分)に公開予定の動画に対してプレーヤーがリクエストしても、キャッシュが更新されるまでは再生可能な動画を取得できない場合があります。
Players モジュール
- プリロード設定
- Internet Explorer のバグにより、IE 使用時にプリロード設定が無視される場合があります。
- Access Data Sources Across Domains 設定
- このInternet Explorer のポリシー設定がドメイン制限付き Brightcove プレーヤーで有効になっていると、Internet Explorer 11 でプレーヤーが読み込まれません。これは IE のバグと見られ、既知の回避策はありません。IE 11 でドメイン制限付きプレーヤーを利用する場合は、この設定を無効にしてください。
ライブ動画
- 非アクティブ状態の定期イベントでも最後の 3セグメントが再生される
-
SEP の定期イベントがページ上で公開されたままで、クライアント側が現在ストリーミングしていない場合、最後の 3セグメント(約18秒分)がキャッシュされて再生されることがあります。
回避策
これを防ぐ一つの方法として、以下のようなコードを含むプラグインを追加し、プレーヤーにライブ用カスタム エラーメッセージを実装することが挙げられます:
// duration の変更を監視する myPlayer.on("durationchange", ()=>{ // duration をローカル変数に保存 var duration = myPlayer.duration(); // duration が有限ならVOD、無限ならLiveと判断 // VODであれば、定期配信が終了したと見なしてカスタム画像を表示する var isLive = !Number.isFinite(myPlayer.duration()); if (!isLive && duration !== 0) { myPlayer.pause(); myModal.open(); } });
- Brightcove プレーヤーが終了したライブイベントでも動画視聴回数をカウントする
- Brightcove プレーヤーは、リモートアセットが読み込まれるたびに video_view をカウントします。これは、たとえ終了したライブイベントで、HLS プレイリストが空または取得不能であっても発生します。回避策:動画を無効化、スケジュール解除、または削除してください。
Audience Insights
- サーバーサイド広告挿入(SSAI) - プリロール広告
-
問題
プリロール広告付きの動画の再生位置を冒頭に戻すと、
ads-ad-ended
およびads-pod-ended
イベントが発生します。回避策
以下のように記述することで、回避できる可能性があります。
player.currentTime(0.1)
次の記述の代わりに使用します。
player.currentTime(0)
Analytics
- 合計帯域幅レポートは旧形式のインジェスト動画のみ利用可能
- 合計帯域幅データフィールドは現在、Dynamic Delivery では利用できないため、カスタムレポートではこのオプションは使用できません。
- 広告ブロッカーにより分析データが正確でない場合があります
- 分析データ(UI および API 経由で取得)は、UBlockなどの広告ブロッカーがクライアント端末からの分析データ送信を妨げるため、不正確になる可能性があります。
- 一部の動画でカスタムレポートに 0 bytes_delivered と表示される
- Dynamic Delivery のトランスコードプロファイルを使用してインジェストされた動画は、カスタムレポート上で bytes_delivered が 0 と表示されます。
- 複数のフィルターを使用したカスタムレポート
- 複数のフィルターを使用すると、AND 条件が適用されます。たとえば、動画タグ と プレーヤー の2つのフィルターを追加した場合、指定されたタグが付けられ、かつ指定されたプレーヤーで再生された動画のみが対象となります。
- 動画タグによるフィルタリングを使用したカスタムレポート
- カスタムレポート作成時に、動画タグによるフィルタリング機能には制限があります。特定のタグが付与された動画が 2,000 件を超える場合、それ以降の動画は考慮されません。この場合は、タグを含んだフィルターなしのレポートを取得し、表計算ソフト等でローカルにフィルタリングすることを推奨します。
- パフォーマンスレポートに「Other/Third Party」と表示される
- Video Cloud ライブラリに存在しない動画(例:リモートアセット)が Video Cloud プレーヤーで再生されると、Other/Third Party として表示され、関連する動画ID は表示されません。
- 更新された動画名が分析に反映されない
- Analytics が動画タイトルを認識するのは、プレーヤーが再生ビーコンと共に送信した時点です。そのため、動画タイトルを変更しても、再生が行われない限り Analytics には新しいタイトルが反映されません。特に 2013年3月以前のデータはこの問題が多く、動画タイトルが数字(例:1230123012)として表示されることがあります。これは旧システムで収集されたメタデータによるものです。
- Analytics UI にて動画名とプレーヤー名が ??????? と表示される
- 2013年10月 のデータにおいて、動画名やプレーヤー名が ??????? と表示されることがあります。これはダブルバイト文字を含むメタデータを持つお客様に影響がありました。11月以降、Analytics システムにはメタデータ破損を防止するための追加処理が実装されています。
- レポートのタイムゾーン
- レポートで使用するタイムゾーンは、日別データの境界を決定するために使用されます。この設定を変更しても、過去のデータには適用されません。また、設定変更の反映には時間がかかる場合があり、その間は旧設定でデータが表示されることがあります。
- エンゲージメント データは日単位で保存される
- エンゲージメント データは UTC 時間に基づいて日単位で保存されるため、エンゲージメント レポートの「x%視聴ユーザー」表において、2日分のデータが含まれる場合があります。
- Internet Explorer のサポート
- Analytics モジュールは Internet Explorer 11 以降が必要です。
- デバイスメーカーで「その他」の結果が多く表示される
- 一部のケースでは、デバイス メーカーにおいて「その他」の結果が多く表示されることがあります。これは、analytics データと共に送信された
user_agent
が Data Collector で認識されなかった場合に発生します。特に Instagram が生成するカスタムuser_agent
が原因であることが多いですが、他にも要因があります。 - iframe タグ使用時、トラフィックレポートで「Direct」のみが表示される
- トラフィックソースは HTTP リファラー ヘッダーから判断されます。iframe タグを使用すると、リファラーは "players.brightcove.net/..." となり、Analytics モジュールでは 'Direct' に分類されます。正確なトラフィックソースを取得するには、in-page video タグを使用してください。
Audience
- 視聴者アクティビティが「視聴率:0」「視聴時間:0」と表示される
- 動画が再生されていない、または動画が最初のビーコンを送信する前にインタラクション イベントがトリガーされる場合があります。この結果、インタラクティブな操作は記録されているが、動画の再生は記録されていない(視聴率0%、視聴時間0秒)というイベントが発生することがあります。
- Internet Explorer のサポート
- 視聴者リードフォームを利用するには、Internet Explorer 11 以降が必要です。
Social
- Ghostery ブラウザ プラグインが Social モジュールの動作を妨げる可能性がある
-
Ghostery ブラウザ プラグインは、Social モジュールの正しい読み込みを妨げる可能性があります。
回避策: Ghostery のホワイトリストに Studio を追加してください。
Upload モジュール / 動的インジェスト
- 端末の時計が正しい時刻と一致していない場合、Upload モジュールによるアップロードは失敗する
- アップロードは一定時間のみ有効です。端末の時刻が実際の時刻と 15分 以上ずれている場合、アップロード時にエラーが発生します。
- Dynamic Ingestion による再トランスコードで動画の公開日が更新される
- Dynamic Ingestion を使用して動画を再トランスコードすると、動画の公開日が現在の日付に更新されます。公開日順で並べ替えたスマートプレイリストを使用している場合、プレイリスト内の動画の順序に影響を与えます。
- ファイル名
- 動画ファイル名(拡張子を含む)は、半角 120文字(全角 60文字)以内である必要があります。これを超えると動画のインジェスト自体は成功しますが、後から再トランスコードすることができなくなります。
Brightcove Player
Brightcove Player リリースノートを確認し、既知の問題が最近のリリースで修正されたかどうかをご確認ください。
- Facebook アプリの Web ビューアーでは DRM 保護された動画が再生できない
- 再生速度ボタンが Safari 15 に追加されました
- Brightcove はユーザー設定を上書きしません。また Apple によると、このプロパティは iOS の HTML5 オーディオ/ビデオ要素には設定できませんとのことです。
- 数字で始まる要素ID の使用は CSS および JavaScript (
document.querySelector
)で問題を引き起こす - ID で指定された CSS ルールや、
querySelector()
やquerySelectorAll()
を使用して要素を参照する JavaScript が、ID が数字で始まる要素に対して失敗します。回避策はありますが、最良の方法はこのような ID の使用を避けることです。 - Windows 10 のタッチ対応 PC で全画面モード中にプレーヤーのコントロールバーが非表示にならない
- 既知の回避策はありません。
id
がdefault
に設定された要素- ページ内に
id="default"
の要素があると、Brightcove プレーヤーが正常に動作しないことがあります。詳細は、DOM: element IDs are global variables をご覧ください。この問題の一般的な症状はMEDIA_ERR_UNKNOWN
エラーです。 - Safari および/または iOS で広告がブロックされる
-
Apple による Safari および iOS のクロス オリジンポリシーの変更により、広告が再生されない可能性があります。
回避策
SSAI の場合、追加の CORS ヘッダーを追加することでこの問題を解決しています。クライアントサイド広告を使用している場合、この対応では不十分で、CORS ヘッダーはご自身のサーバーやホスティングサービスから送信する必要があります。追加したヘッダーは以下のとおりです:
access-control-allow-headers: Server,Range,Content-Length,Content-Range access-control-allow-headers: X-Requested-With,Origin,Range,Accept-Encoding,Referer access-control-allow-methods: GET,HEAD,OPTIONS access-control-allow-origin: *
- コンソール警告
- ポスター画像またはサムネイル画像のない動画
- サムネイルまたはポスター画像のない動画は、読み込み時にプレーヤーでエラーを引き起こす可能性があります。これはモバイル SDK プレーヤーでクラッシュを引き起こす場合があります。
- Internet Explorer は再生が一時停止されるたびに再生速度を1.0にリセットします
- この問題は Safari 14(Big Sur 版)では発生しません。
- IE11 でオーディオのみのコンテンツ再生時に画像が表示されない
- IE11 でオーディオのみのコンテンツを再生すると、黒い画面のみが表示され画像が表示されません。以下のコードで画像を保持できます:
.vjs-has-started .vjs-poster { display: block; }
- Safari での自動再生プレイリスト
- Safari でプレイリストが表示され、プレーヤーの pre-load 設定が
none
の場合、次の動画の自動再生が失敗することがあります。 - Apple ユーザーの設定が Brightcove プレーヤーによる字幕の自動表示を妨げる
- iOS で字幕を自動表示するには、システム環境設定 > アクセシビリティ > 字幕 > に進み、クローズドキャプションと SDH を優先にチェックを入れてください。
- コンテキストメニュー
- 動画の右端または下端近くを右クリックすると、プレーヤーのコンテキストメニューが画面外に表示されることがあります。
- 同じ player_id で異なるサイズの複数プレーヤーをページ上で使用
-
同じ ID のプレーヤーを複数設置し、それぞれ
<video>
タグ内で異なるwidth
およびheight
属性を指定した場合、最後に定義されたプレーヤーの CSS が全プレーヤーに適用されます。回避策
- 異なる ID を使用したプレーヤーを使用して、それぞれに異なるサイズやスタイルを設定する
- プレーヤーサイズを定義する CSS クラスを作成し、各
video
タグに適用する
- FastClick.js によりイベント処理が正しく行われない
- FastClick.js を使用すると、カスタム コントロールバーでイベント処理が正しく行われず、モバイル デバイスでの操作ができない場合があります。
- Chrome および Firefox で動画が灰色っぽく表示される
-
Chrome や Firefox で Brightcove プレーヤーを使用すると、動画が灰色っぽく表示される場合があります。これはハードウェア アクセラレーションや NVIDIA のドライバー設定による可能性があります。
回避策:NVIDIA コントロールパネルを開き、ビデオ > ビデオカラー設定の調整 を選択します。色の調整方法 では NVIDIA 設定を使用 を選択し、詳細設定 で ダイナミックレンジ を フル (0-255) に設定してください。ダイナミックコントラスト強調 のチェックは外してください。この問題はGoogle Chrome ヘルプフォーラムで報告されています。
- エミュレータの使用
-
Chrome のデバイスモードや他のエミュレータで動画再生をテストする場合、実際のデバイスの動作を正確に再現できないことに注意してください。開発段階ではエミュレータでの初期テストは有効ですが、正確な動作確認には実機を使用するのがベストプラクティスです。
Chrome のデバイスモードで再生をテストすると、次のようなメッセージが表示される場合があります:「デバイス モードでの Chrome の使用は、あくまでビューポートとユーザーエージェント文字列をエミュレートするものであり、実際のデバイスのパフォーマンスを正確に反映するものではありません。」
data-setup
の使用- Brightcove プレーヤーでは
data-setup
の使用は推奨されません。API ドキュメントにdata-setup
が記載されていることがありますが、それは Video.js プレーヤーのソースコードから生成されたもので、純粋な Video.js では使用可能です。Brightcove Player は異なる構成方法を用いており、data-setup
の使用は信頼できません。 - プロトコル認識型ソース選択と DASH
- プロトコル認識型のソース選択は、DASH コンテンツでは利用できません。これは HLS および MP4 コンテンツでのみ利用可能です。
- Safari で iframe プレーヤー実装を使用するとコンソールエラーが発生
- Safari で Brightcoveプレーヤーを iframe 実装で使用すると、以下のエラーがコンソールに表示されます:Blocked a frame with origin \"https://players.brightcove.net\" from accessing a frame with origin \"#DOMAIN NAME#\". Protocols, domains, and ports must match. このエラーは再生には影響しません。
- Safari で字幕メニューに「Unknown」と表示される
- これは Safari/Apple の制限によるものです。新しい Brightcove プレーヤーは Safari に内蔵された字幕機能を使用するため、このような動作となります。詳細は Apple の公式ドキュメント をご確認ください。
- 非 Flash 環境での全画面表示
-
Flash が無効な環境や、プレーヤーで Flash ベースの HLS が無効な環境で、
video
タグにstyle
属性でサイズが明示されている場合、一部のブラウザでは全画面表示が正常に動作しないことがあります。回避策:
style
属性をvideo
タグから削除し、代わりに以下のようにスタイルシートでサイズを指定してください:.video-js{ width:640px; height:360px; }
- ソーシャル共有
- デスクトップ環境では、広告再生中にソーシャル共有ボタンは表示されません。
- HTTPS
-
ほとんどのデスクトップブラウザでは、Brightcove プレーヤーが HTTPS サイト上で HLS を再生するには、マニフェストと動画セグメントの両方が HTTPS 接続で配信される必要があります。これは、最近のブラウザの仕様変更により、非 SSL コンテンツが厳しく制限されるようになったためです。Chrome、Firefox、Internet Explorer のデスクトップ版に影響があります。Safari や モバイル ブラウザ、MP4の再生には影響しません。
Brightcove が管理する Video Cloud のアセットについてはこの制限を解消する作業を進めています。独自の CDN とトランスコードを使用している場合は、マニフェストと動画の両方を HTTPS で配信するよう CDN を設定する必要があります。
- 全画面表示
-
新しいブラウザで fullscreen API がサポートされている場合、プレーヤーが全画面時に 100% 拡大されるよう CSS をページ内で指定する必要があります。そうしないと、プレーヤーは元のサイズのまま表示されます。詳細は、Fullscreen display のトピックをご覧ください。
fullscreen API がサポートされていない IE10 以前では、新しいウィンドウが開くだけで、プレーヤーはウィンドウ全体に拡大されません。スクロール不可のため、プレーヤーが表示されないこともあります。
- HapYak チャプター付き動画を1ページに複数公開
-
HapYak チャプター付き動画を1ページに複数公開すると、誤ったチャプターが表示されることがあります。
回避策
このスクリプトをご利用ください。ただし、IE11/Win7 では Flash 再生では回避できないため、HTML5 フォールバックを実装してください。
- エラー: d.off is not a function
-
この既知のバグにより、MP4 や HLS など異なるフォーマットを切り替えるときにこのエラーが発生することがあります。このバグが修正されるまでは、問題のコードを再実行することで対処可能です。以下はアプリでの修正例です:
try { myPlayer.catalog.load(video); } catch (e) { myPlayer.catalog.load(video); } myPlayer.play();
- HLS 動画の再生時間
- コントロールバーに表示される動画の再生時間は、初期表示から変更されることがあります。すべての HLS セグメントが読み込まれると、正確な再生時間に更新されます。
- RequireJS
- RequireJS を使用する場合、プレーヤーを初期化する際に
bc()
メソッドを使用する必要があるかもしれません。使用の必要性はプレーヤーのアセットがどのように・いつ読み込まれるかによります。詳細は RequireJS and Brightcove Player をご覧ください。 - referrer_url と description_url
referrer_url
の値は、iOS と Android デバイス間で異なる場合があります。そのため、description_url
の使用を推奨します。こちらはすべてのプラットフォームおよびデバイスで一貫しています。- Safari での loop 属性
- loop 属性は Safari では正しく動作しません。Brightcove Player のループ作成サンプルを参考にしてください。
- Safari での字幕
- Safari では字幕のスタイルにネイティブ機能を使用するため、Safari ブラウザ(iOS・macOS)の CC メニューには 字幕設定 オプションが表示されません。
- HTML 要素 ID に global を使う
- 高度な埋め込み(in-page embed)プレーヤーのコードを
id=\"global\"
を持つ<div>
タグ内にネストさせないでください。Brightcove プレーヤーに問題が発生します。 - プレーヤーバージョン 5のアイコン問題
- Brightcove Player バージョン 5 では、チャプターと字幕に同じアイコンが使用されます。バージョン 5 は保守モードのため、見た目に関するこの問題は解消されない可能性があります。
- Facebook ユーザーが Brightcove プレーヤーを含むページへのリンクを投稿し、その動画が DRM で保護されている場合、Facebook アプリ内でリンクをクリックした他のユーザーは、DRM をサポートしない Facebook の Web ビューアーでページが開くため、動画は再生されません。
Brightcove プレーヤーは、ブラウザのコンソールに 警告 を表示することがあります。これらの警告はエラーメッセージではなく、再生には影響しません。以下は警告の一例です:

Brightcove プレーヤー プラグイン
各プラグインの既知の問題については、該当するプラグインのドキュメントにリンクされています。バージョン 5 は保守モードのため、これは外見上の問題であり、修正されません。
Android
- Android 上の TalkBack のネイティブ ジェスチャーでは、Brightcove プレーヤーの再生コントロールや音量スライダーを調整できません。これはプラットフォームの制限によるもので、ユーザーは要素に直接操作する必要があります。Android では、2本指でダブルタップすると、タップ位置に応じて再生位置や音量を調整できます。
- HLS 動画では、Android で進行バーが同期されない場合があります。これは HLS が Android でうまく動作しないためで、動画の総再生時間が誤って 0:01 と表示されることもあります。
- すべての Android バージョンのスマートフォンおよびタブレットにおいて、ネイティブ ブラウザではアクセシビリティに関する複数の問題があります。TalkBack はプレーヤーのコントロールに対して音声や振動のフィードバックを提供しません(この問題は Android 上の Chrome には該当しません)。
- デバイス上でエラーメッセージのタップイベントが親の video 要素まで伝播しないため、エラーメッセージが表示されても閉じることができません。
- Android デバイスでキャプションや画質設定など、コントロールバー内のプレーヤーメニューを操作していると、メニュー項目を長押しした後、メニューが開いたままになることがあります。これは Chrome が
:hover
疑似クラスを追加するためで、プレーヤー内の別の場所を再度長押しすると通常メニューは閉じます。
Brightcove Player SDK for Android を活用した Android アプリの作成方法を学べます。
iOS
- iOS 上の VoiceOver のネイティブジェスチャーでは、Brightcove プレーヤーの再生コントロールや音量スライダーを調整できません。これはプラットフォームの制限によるもので、ユーザーは要素に直接操作する必要があります。iOS では、ユーザーが再生バーや音量スライダーを選択するためにダブルタップし、その後ダブルタップ&ホールドすることで時間や音量を調整できます。
- iOS の Safari では事前読み込みが行われません。詳細は Safari HTML5 オーディオおよびビデオガイドをご参照ください。
- iOS 上で別のアプリに切り替えた後、Brightcove プレーヤーで再生していた動画はエラーになります。Safari や Chrome で動画を再生中に他のアプリへ切り替え、1分 以上経過してから戻るとエラーが発生します。
iPhone
- iPhone ではソーシャル共有機能は動作しません。iOS の仕様でフルスクリーンのネイティブモードに切り替わるため、動画の共有ができません。
- iPhone では、エラーメッセージのタップイベントが video 要素に伝播せず、表示されたエラーメッセージを閉じることができません。
Brightcove Player SDK for iOS を活用した iOS アプリの作成方法を学べます。
Windows 8
- コンパニオン広告はサポートされていません。
- Windows 8 タブレットでは、標準の HTML/MP4 再生においてシークが動作しません。HLS テクノロジーでは正しく動作します。
- Windows 8 タブレットでは広告は動作しますが、コンパニオン広告を使うとブラウザがクラッシュします。
- Windows 8 タブレットでは HLS、Flash、ライブ、および埋め込み形式はすべてサポートされています。
- Windows 8 のスマートフォンでは MP4 は再生可能ですが、Flash や HLS はサポートされていません。
- Windows 8 のスマートフォンでは、iframe またはインライン埋め込み形式に関係なく、一度再生を開始すると常にフルスクリーン再生になります。これにより、再生開始後にオーバーレイが表示されません。
- 字幕を有効にすることはできません。
Chrome
- 低ビットレートの音声レンディションに関する問題
Chrome ブラウザの MSE 実装のバグにより以下が発生します:
https://bugs.chromium.org/p/chromium/issues/detail?id=534301
BC プレーヤーのバージョン 5 以降で、レンディションの音声プロファイルが AAC-LC でない場合、
MEDIA_ERR_DECODE
エラーで再生が失敗します。新規のコンテンツでこの問題を防ぐには:
- 音声ビットレートを 48 kbps以上に設定する
- トランスコードプロファイルに次の設定を追加:
\"max_aac_profile\": \"aac-lc\"
既存コンテンツでは:
- 上記に従って再トランスコードする
- HTML5 動画のリクエストが保留のままになり、動画が読み込まれないことがあります。詳細は Google の ドキュメント をご覧ください。
Firefox
- Android 版 Firefox ブラウザは正式にはサポートされていませんが、可能な範囲でバグ修正に対応します。
- Firefox バージョン 42 では Brightcove プレーヤーで再生に問題があると報告されています。これは Firefox の ハードウェア アクセラレーションを使用 設定が原因と考えられ、このオプションを無効にすると解決します。
- 動画の最初のフレームに表示タイムスタンプ(PTS)が0より大きい場合、Brightcove プレーヤーが Firefox でタイムアウトする可能性があります。現時点での推奨解決策はコンテンツの再エンコードです(再トランスコードではなく、オリジナルマスターの再アップロードが必要)。
Internet Explorer
- Media モジュールで「デフォルト」設定が選択された字幕は、IE11 では自動的に表示されません。
- 音声が 48 kHz以上の動画は、Windows 8 および 10 の Edge および IE11 で再生に失敗します。
- IMA3 の Flash 広告はIEでより安定して動作します。
Safari
- 既知の問題はありません。
IMA3
- Google IMA3 のスキップ可能な広告を使用している場合、「広告をスキップ」ボタンにタブ インデックスがないため、キーボード操作でこのボタンにアクセスできません。キーボード操作に依存するユーザーは広告をスキップできません。
Brightcove Live
h264_profile
がbaseline
に設定されている、またはジョブリクエストにh264_profile
が含まれていない場合、Firefox v57 を使用する Windows 10 環境で問題が発生します。- ライブストリームが終了した際、プレーヤーが
PLAYER_ERR_TIMEOUT
エラーを表示することがあります。