据 webrtc 讨论组主题 google cricket::VideoCapture 将很快被弃用。要自定义视频源,我们应该实现VideoTrackSourceInterface。我尝试实现接口但没有成功。当我有一个框架时,我实现了该接口,然后调用事件 OnFrame(const webrtc::VideoFrame&frame) ,如下所示:
void StreamSource::OnFrame(const webrtc::VideoFrame& frame)
{
rtc::scoped_refptr<webrtc::VideoFrameBuffer buffer(frame.video_frame_buffer());
broadcaster_.OnFrame(frame);
}
在conductor.cc中的AddStreams()事件中,我通过以下代码创建了一个视频源:
rtc::scoped_refptr<webrtc::VideoTrackInterface> video_track(
peer_connection_factory_->CreateVideoTrack( kVideoLabel,new mystream::StreamSource()));
我的视频无法在浏览器中播放。我做错了什么?
我使用了基类 AdaptedVideoTrackSource 并创建了一个方法 FrameCaptured,它是从我的线程中调用的,在该方法中我将其称为方法 OnFrame。工作顺利啊!!!
class StreamSource : public rtc::AdaptedVideoTrackSource
{
void OnFrameCaptured(const webrtc::VideoFrame& frame);
}
void StreamSource::OnFrameCaptured(const webrtc::VideoFrame& frame)
{
OnFrame(frame);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)