shiguredo / sora-ios-sdk

WebRTC SFU Sora iOS SDK
https://sora-ios-sdk.shiguredo.jp/
Apache License 2.0
42 stars 8 forks source link

映像送信停止処理について #14

Closed daihase closed 6 years ago

daihase commented 6 years ago

現在iOS<->Webとライブ機能を実装していて、iOS側から映像の送信を止めようとした場合にVideoView部分がiPhone, ブラウザ共に一時停止したような見え方となってしまいます。

処理としてはこちらのドキュメントにあるように、MediaStreamvideoEnabledtrue/false に切り替えることで対応しております。

Android側では同じようにAPIにて用意されているenable系のプロパティをfalseにすると、映像が真っ黒になってちゃんと映像配信OFFにしてるかのように見えます。 これをiOSでも映像が一時停止した見え方ではなく、同様に真っ黒になるようにしたいのですがそもそもこちらiOS側は可能なのかということと、その方法がありましたらご教授いただければ幸いです。

環境

voluntas commented 6 years ago

@daihase

ブラックスクリーンについてなのですが、仕様としては定義されているわけではなく、Android やブラウザでは現在の実装ではそうなっておりますというのが現状です。

iOS では停止した際の動きがブラックスクリーンではなく、そのまま映像が停止するというのが現時点の実装になります。

接続解除時に求められる挙動はアプリケーションやサービスによって異なるので、一概に決めらないという認識です。

まずは弊社としてはアプリレイヤーで一時停止したときにブラックスクリーンにする実装方法を例示できればと考えております。

この方針で進めさせていただいて、問題ありませんでしょうか?

daihase commented 6 years ago

@voluntas ご確認有難うございます。 恐らくOSごとにそれぞれその様な実装になっているのではないかと思っておりました。

ちなみにiOS側でブラックスクリーンにする方法ですが、送信側のViewに対してそれよりも前面に黒いViewを被せることで擬似的にブラックスクリーンを再現するとかでしょうか?! またWeb側の方でも同じ様に一時停止した状態ですと、今開発中のサービスの性質上見た目的にも芳しくないため、もしこちらもアプリ側同様ブラックスクリーンにする方法があれば併せてご教示頂ければと思います。

お手数おかけいたしますが宜しくお願い致します。

voluntas commented 6 years ago

@daihase

まさに、上にかぶせる擬似的にブラックスクリーンが良さそうだと思っております。まずは社内で実装してみて例示できればと思っております。

Web 側もおそらく Video タグ周りで何かしらやる必要があるとおもいますので、その辺は別途社内で検討して連絡させていただきます。

引き続き、こちらの issues に連絡させていた来ます。

daihase commented 6 years ago

@voluntas 了解致しました。 こちらお手数おかけいたしますが宜しくお願い致します。

szktty commented 6 years ago

@daihase 停止時の処理の仕様と iOS SDK での対応についてドキュメントに記述しました。先の回答の通り、基本的に VideoView とは別にビューを用意して頂くのがベストだと思います。次のリリースで何かしらのサポート API を追加できればと考えています。

https://sora.shiguredo.jp/ios-sdk-doc/videoview.html#id6

daihase commented 6 years ago

@szktty ドキュメントへのご追記、ありがとうございます。 こちらを元にiOS側の方対応出来そうです。

最後に1点ご確認させていただきたいのですが、iOSとWebブラウザでライブ配信をしていて上記の映像送信停止処理を行った場合、アプリ側は見た目も上記方法で黒い停止画面を再現出来ますが、Webブラウザ側の画面も同様にするには現状iOSからSoraサーバーにpollingし、channnelの状態を検知しブラウザ側でもよしなにブラックスクリーンをかぶせるなどして再現する方法になりますでしょうか。

voluntas commented 6 years ago

@daihase こちら、iOS SDK の話とは別になってしまいますので、一度切り分けのために issue を閉じてさせていただきます。別途この件に関して Sora のサポートまでご連絡をいただけますでしょうか。よろしくお願いいたします。

daihase commented 6 years ago

@voluntas 承知致しました、社内でいただいた内容を今一度確認し、改めて必要な際はまたissueの方建てたいと思います。有難う御座いました。

voluntas commented 6 years ago

@daihase はい、気軽にご連絡いただければと思います。よろしくお願いいたします。