【发布时间】:2020-07-24 09:34:14
【问题描述】:
概述
我想使用自定义视频源通过 WebRTC Android 实现来直播视频。如果我理解正确,现有实现仅支持 Android 手机上的前置和后置摄像头。在这种情况下,以下类是相关的:
目前为了在 Android 手机上使用前置摄像头,我正在执行以下步骤:
CameraEnumerator enumerator = new Camera1Enumerator(false);
VideoCapturer videoCapturer = enumerator.createCapturer(deviceName, null);
VideoSource videoSource = peerConnectionFactory.createVideoSource(false);
videoCapturer.initialize(surfaceTextureHelper, this.getApplicationContext(), videoSource.getCapturerObserver());
VideoTrack localVideoTrack = peerConnectionFactory.createVideoTrack(VideoTrackID, videoSource);
我的场景
我有一个回调处理程序,它从自定义视频源接收字节数组中的视频缓冲区:
public void onReceive(byte[] videoBuffer, int size) {}
我怎样才能发送这个字节数组缓冲区?我不确定解决方案,但我想我必须实现自定义VideoCapturer?
现有问题
This question 可能是相关的,虽然我没有使用 libjingle 库,只使用本机 WebRTC Android 包。
类似的问题/文章:
【问题讨论】:
-
您想将视频文件流式传输到 WebRTC(例如聊天视频中的假人?仅作为示例)或广播现有的广播公司?你需要它作为 android 应用程序吗?我是否会提供一种挂钩现有应用程序的方法? android标签相关吗?因为你提供了 chromium 的源代码
-
我想流式传输现有的视频源,我通过
onReceive方法接收数据。我需要在 Android 应用程序中处理它,因为该设备通过 USB 电缆连接到手机。源代码托管在 chromium 上,但它适用于 Android 应用程序。似乎整个 WebRTC 项目都托管在那里。 -
请解释一下,您要将现有视频源流式传输到哪里?例如,您从 URL 接收字节,您的 android 手机将它们解密,因此您会将它们视为帧,您想将它们发送到哪里?
-
@JimWest 这是一个使用 WebRTC 的 P2P 连接。这不是向另一端流式传输到客户端的问题,这是 WebRTC Java 实现的问题,显然不支持除现有前置/后置摄像头之外的外部视频源进行处理。
-
您想将本地视频而不是摄像头传输到正在运行的视频聊天中吗?不清楚你想要实现什么
标签: java android streaming webrtc webrtc-android