通过使用$('#process').modal();
$(document).ready(function () {
$.ajax({
url: "reopen_account.php",
type: "POST",
data: {'reopen': 'reopen', 'status_val': status_val, 'ac_no': ac_no},
success: function (output) {
if (output != 1)
alert('Error occured');
setTimeout(function () {
$('#process').modal('hide');
}, 1000);
},
});
});
中的func capturer(_ capturer: RTCVideoCapturer, didCapture frame: RTCVideoFrame)
,我发现下面的git简单有效。您得到RTCVideoCapturerDelegate
,然后转换为RTCVideoFrame
进行修改。
https://gist.github.com/lyokato/d041f16b94c84753b5e877211874c6fc
但是,我发现Chronium表示获取PixelBuffer的nativeHandle不再可用(下面的链接)。我尝试了frame.buffer.pixelbuffer ...,但是,在查看框架>标头> RTCVideoFrameBuffer.h时,我发现CVPixelBuffer也从这里消失了!
https://codereview.webrtc.org/2990253002
是否有将CVPixelBuffer
转换为RTCVideoFrame
的好方法?
还是我们有更好的方法来修改从RTCCameraVideoCapturer捕获的视频?
下面的链接建议直接修改sdk,但希望我们可以在Xcode上实现。
How to modify (add filters to) the camera stream that WebRTC is sending to other peers/server
答案 0 :(得分:1)
您能指定您的期望吗?因为您可以轻松地从RTCVideoframe获得像素缓冲区,但是我认为如果要过滤视频缓冲区而不是发送给Webrtc,则可以找到更好的解决方案,因此应该使用 RTCVideoSource 。
您可以通过以下方式获得缓冲 as seen
RTCCVPixelBuffer *buffer = (RTCCVPixelBuffer *)frame.buffer;
CVPixelBufferRef imageBuffer = buffer.pixelBuffer;
(仅具有最新的SDK和本地摄像机缓冲区)
我已经附上了屏幕截图,这也是您可以检查预览的方式。