我正在开发一个演示,其中需要使用webrtc录制实时视频流。
我成功地显示了从一台设备到另一台设备的实时流,但无法对其进行录制。 我进行了很多搜索,发现到处都有关于webrtc的相同答案,但是没有一个人能够录制实时流。
有一个名为- VideoFileRenderer 的类,在我的大部分搜索中,我发现该类负责记录和编写帧。
以下是我尝试录制视频的一些代码-
代码-1:
videoFileRenderer = new VideoFileRenderer(file.getAbsolutePath(),rootEglBase.getEglBaseContext());
remoteVideoTrack.addSink(videoFileRenderer);
代码-2:
String saveRemoteVideoToFile = intent.getStringExtra(EXTRA_SAVE_REMOTE_VIDEO_TO_FILE);
// When saveRemoteVideoToFile is set we save the video from the remote to a file.
if (saveRemoteVideoToFile != null) {
int videoOutWidth = intent.getIntExtra(EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_WIDTH, 0);
int videoOutHeight = intent.getIntExtra(EXTRA_SAVE_REMOTE_VIDEO_TO_FILE_HEIGHT, 0);
try {
videoFileRenderer = new VideoFileRenderer(saveRemoteVideoToFile, videoOutWidth,
videoOutHeight, peerConnectionClient.getRenderContext());
remoteRenderers.add(videoFileRenderer);
} catch (IOException e) {
throw new RuntimeException(
"Failed to open video file for output: " + saveRemoteVideoToFile, e);
}
}
这些是我在Google,stackoverflow和其他论坛上搜索时获得的基本代码,但是这些解决方案都不适合我。
我浏览的链接- Trouble saving a video file with webrtc in Android
How do record video stream data as mp4 in webRTC android?
如果有人知道如何录制直播视频,请与我分享。不胜感激。
谢谢