2016-08-24 5 views
1

私は現在、AppRTC app for iOS in Swift(これは、this Objective-Cバージョンに基づいています)の着信WebRTCビデオストリームをいくつか変更しようとしています。これを行うには、クラスRTCI420Frame(Objective-C実装の基本クラスlibWebRTC)のフレームオブジェクトに格納されているデータにアクセスする必要があります。特に、私はバイトの配列:[UInt8]フレームのサイズが必要です。このデータは、さらに処理するために使用されます。&いくつかのフィルタの追加。AppRTC iOSアプリでフレームのデータを取得してビデオを変更する方法は?

問題があり、RTCVideoTrack/RTCEAGLVideoView上のすべての操作は、プリコンパイルlibWebRTC.aのボンネットの下に行われ、それは、上記のリンク公式のWebRTCリポジトリからコンパイルされ、それがのカスタムビルドを取得するにはかなり複雑ですそれで、iOSのサンプルプロジェクトで利用可能なビルドを使いたいと思っています。私の理解では、その中に利用可能なすべての機能を持っているはずです。

私はRTCVideoChatViewControllerクラスに見て、特に、remoteView/remoteVideoTrackが、フレームそのものにアクセスするには成功していなかった、公式レポでlibWebRTC源の研究に多くの時間を費やしましたが、まだラップすることはできません自分の操作のためにフレームデータにアクセスするという問題の周りに頭を浮かべてください。助けてくれてうれしいですね!

答えて

1

ちょうど質問を投稿した後、私は卑劣なデータを見つけることに運がありました!

あなたはRTCEAGLVideoView.hファイルに次のプロパティを追加する必要があります。original implementation file

@property(atomic, strong) RTCI420Frame* i420Frame; 

i420Frameプロパティですが、それはクラスのためのiOSプロジェクトのヘッダファイルで公開されていませんでした。プロパティを追加すると、ビューの現在のフレームを取得できます。

私はまだストリームデータを直接取得するよりエレガントな方法を探していますが、remoteViewの内容を調べる必要はなく、見つけたら答えを更新します。

関連する問題