回答編集履歴
3
answer
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
結局、自己解決しました。
|
2
2
|
|
3
3
|
原因ですが、
|
4
|
-
-
|
4
|
+
- ブラウザが HLS 形式の再生にネイティブで対応している場合、プレイヤー側でネイティブの HLS を利用するような実装になっていたこと
|
5
|
-
-
|
5
|
+
- Android 版の Chrome は HLS 形式の再生にネイティブで対応しているが、PC 版の Chrome では HLS 形式の再生には hls.js が必要で、ネイティブでは対応していない
|
6
|
-
-
|
6
|
+
- Android 版の Chrome の HLS 形式のネイティブ再生実装にはいくつかバグがあるようで、Canvas でキャプチャする事ができない不具合を抱えている
|
7
|
-
- iOS の Safari は hls.js での再生に対応していないが、キャプチャは可能
|
7
|
+
- iOS の Safari は hls.js での再生に対応していないが、キャプチャは可能(バグは発生しない)。ただし、関数を跨いで Canvas を受け渡すと Canvas が空になってしまう
|
8
|
-
…といったものでした
|
8
|
+
…といったものでした。
|
9
9
|
|
10
|
-
そのため、hls.js に対応していないブラウザを除き、基本的に hls.js を利用させるように
|
10
|
+
そのため、hls.js に対応していないブラウザを除き、基本的に hls.js を利用させるようにプレイヤーのコードを変更し、またキャプチャした Canvas を同じ関数内で扱う事で、解決することができました。
|
11
11
|
|
12
|
-
なお、Android 版 Firefox は依然として謎のエラーが
|
12
|
+
なお、Android 版の Firefox は依然として謎のエラーメッセージが表示されてキャプチャに失敗するのですが、これはブラウザの不具合が原因しているみたいです。開発チームも不具合を認識しているものの修正できていないのだとか。
|
13
|
-
|
13
|
+
Android 版の Firefox はシェアも少ないですし、一旦無視して開発を進めたいと思います。
|
2
_
answer
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
結局、自己解決しました。
|
2
2
|
|
3
3
|
原因ですが、
|
4
|
-
- DPlayer側で**
|
4
|
+
- DPlayer 側で**ブラウザが HLS の再生にネイティブ対応している場合、ネイティブの HLS を利用するような処理になっていたこと**
|
5
|
-
- **Android版ChromeはHLSネイティブ再生に対応しているが、PC版ChromeはHLSネイティブ再生に対応していない**
|
5
|
+
- **Android 版 Chrome は HLS ネイティブ再生に対応しているが、PC 版 Chrome は HLS ネイティブ再生に対応していない**
|
6
|
-
- **Android版ChromeのHLSネイティブ再生にはいくつかバグがあるようで、キャプチャする事ができない**
|
6
|
+
- **Android 版 Chrome の HLS ネイティブ再生にはいくつかバグがあるようで、キャプチャする事ができない**
|
7
|
-
- iOSのSafariは
|
7
|
+
- iOS の Safari は hls.js での再生に対応していないが、キャプチャは可能(バグは発生しない)。ただし、**関数を跨いで Canvas を受け渡すと Canvas が空になってしまっていた**
|
8
|
-
…
|
8
|
+
…といったものでした (ブラウザ依存酷すぎて吐きそう)。
|
9
9
|
|
10
|
-
そのため、
|
10
|
+
そのため、hls.js に対応していないブラウザを除き、基本的に hls.js を利用させるようにする (hls.js 経由で再生させれば通常通りキャプチャ出来る)・Canvas を同じ関数内で扱う事で、解決しました。
|
11
11
|
|
12
|
-
なお、Android版Firefoxは依然として謎のエラーが発生しますが、海外サイトでも不可解なバグとされていたり、通常の動画(HLSでない)でもキャプチャ出来なかったりで原因がブラウザのバグにあるような感じだったため、暫くは実装を見送る事にします。
|
12
|
+
なお、Android 版 Firefox は依然として謎のエラーが発生しますが、海外サイトでも不可解なバグとされていたり、通常の動画 (HLSでない) でもキャプチャ出来なかったりで原因がブラウザのバグにあるような感じだったため、暫くは実装を見送る事にします。
|
13
|
-
(もっとも、AndroidはChrome系ブラウザが多くFirefoxを使っている人は小数派な気がしますが…)
|
13
|
+
(もっとも、Android は Chrome 系ブラウザが多く Firefox を使っている人は小数派な気がしますが…)
|
1
追記
answer
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
結局、自己解決しました。
|
2
2
|
|
3
3
|
原因ですが、
|
4
|
-
- DPlayer側でHLSの再生にブラウザがネイティブ対応している場合、ネイティブのHLSを利用するような処理になっていたこと
|
4
|
+
- DPlayer側で**HLSの再生にブラウザがネイティブ対応している場合、ネイティブのHLSを利用するような処理になっていたこと**
|
5
|
-
- Android版ChromeはHLSネイティブ再生に対応しているが、PC版ChromeはHLSネイティブ再生に対応していない
|
5
|
+
- **Android版ChromeはHLSネイティブ再生に対応しているが、PC版ChromeはHLSネイティブ再生に対応していない**
|
6
|
-
- Android版ChromeのHLSネイティブ再生にはいくつかバグがあるようで、キャプチャする事ができない
|
6
|
+
- **Android版ChromeのHLSネイティブ再生にはいくつかバグがあるようで、キャプチャする事ができない**
|
7
|
-
- iOSのSafariはHLS.jsでの再生に対応していないが、キャプチャは可能(バグは発生しない)だ
|
7
|
+
- iOSのSafariはHLS.jsでの再生に対応していないが、キャプチャは可能(バグは発生しない)。ただし、**関数を跨いでCanvasを受け渡すとCanvasが空になってしまっていた**
|
8
|
-
…などのようです。
|
8
|
+
…などのようです(Canvasブラウザ依存酷すぎて吐きそう)。
|
9
9
|
|
10
|
+
そのため、HLS.jsに対応していないブラウザを除き、基本的にHLS.jsを利用させるようにする(HLS.js経由で再生させれば通常通りキャプチャ出来る)・canvasを同じ関数内で扱う事で、解決しました。
|
11
|
+
|
10
12
|
なお、Android版Firefoxは依然として謎のエラーが発生しますが、海外サイトでも不可解なバグとされていたり、通常の動画(HLSでない)でもキャプチャ出来なかったりで原因がブラウザのバグにあるような感じだったため、暫くは実装を見送る事にします。
|
11
13
|
(もっとも、AndroidはChrome系ブラウザが多くFirefoxを使っている人は小数派な気がしますが…)
|