teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

2021/11/19 12:24

投稿

JRNA03
JRNA03

スコア12

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

2

_

2021/11/19 12:24

投稿

JRNA03
JRNA03

スコア12

answer CHANGED
@@ -1,13 +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での再生に対応していないが、キャプチャは可能(バグは発生しない)。ただし、**関数を跨いでCanvasを受け渡すとCanvasが空になってしまっていた**
7
+ - iOS Safari hls.js での再生に対応していないが、キャプチャは可能(バグは発生しない)。ただし、**関数を跨いで Canvas を受け渡すと Canvas が空になってしまっていた**
8
- などよう(Canvasブラウザ依存酷すぎて吐きそう)。
8
+ といったものでした (ブラウザ依存酷すぎて吐きそう)。
9
9
 
10
- そのため、HLS.jsに対応していないブラウザを除き、基本的にHLS.jsを利用させるようにする(HLS.js経由で再生させれば通常通りキャプチャ出来る)・canvasを同じ関数内で扱う事で、解決しました。
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

追記

2020/09/12 06:30

投稿

JRNA03
JRNA03

スコア12

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での再生に対応していないが、キャプチャは可能(バグは発生しない)だ、関数を跨いでCanvasを受け渡すとCanvasが空になってしまっていた
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を使っている人は小数派な気がしますが…)