2017-10-11 27 views
1

有没有办法(或破解)让我使用“自定义”视频捕获器来创建VideoTrack并为其提供帧?使用C++创建带有“自定义”捕获器的WebRTC VideoTrack

打造VideoTrack的经典方法是:

得到一个VideoCapturer实例:使用VideoSource

rtc::scoped_refptr<webrtc::VideoTrackSourceInterface> videoSource = peer_connection_factory_->CreateVideoSource(std::move(capturer), NULL); 

创建VideoTrack:

std::unique_ptr<cricket::VideoCapturer> capturer; 

创建一个提供俘获一个VideoSource :

rtc::scoped_refptr<webrtc::VideoTrackInterface> video_track; 

video_track = peer_connection_factory_->CreateVideoTrack(kVideoLabel, videoSource); 

我想知道是否有一种方法来覆盖第一步,而不是使用本机,使用自定义捕获器,以便我可以使用回调提供帧到视频轨道。这将让我使用任何视频源(文件,yuv流...),并非常灵活。

对此有何建议?

这个问题是一个C++参考:Create a WebRTC VideoTrack with a “custom” Capturer on Android with libjingle

+0

另一个Java参考:* [将JPEG转换为WebRTC](https://www.frozenmountain.com/developers/blog/archive/converting-motion-jpeg-to-webrtc/)* –

+0

完全可以拥有相关问题。让他们明确列出是很好的。 –

+1

啊好吧我的坏,我不明白,我会马上编辑。 –

回答

0

我终于找到了一种方法,使我自己的原生C++视频拍摄。基本上你必须重写webrtc :: I420BufferInterface和cricket :: VideoCapturer的一些功能。 如果有人想要进一步解释,请随时询问。

相关问题