WebRTC音视频通话-WebRTC推拉流过程中日志log输出

WebRTC音视频通话-WebRTC推拉流过程中日志log输出

之前实现iOS端调用ossrs服务实现推拉流流程。

推流:https://blog.csdn.net/gloryFlow/article/details/132262724

拉流:https://blog.csdn.net/gloryFlow/article/details/132417602

在推拉流过程中的WebRTC的相关日志log输出可以看到一些相关描述信息。在WebRTC日志需要用到RTCCallbackLogger,使用startWithMessageAndSeverityHandler来处理日志输出。

一、实现log输出WebRTCLogger

实现开启log,启动startWithMessageAndSeverityHandler将在执行日志记录回调。

objectivec 复制代码
- (void)start {
    __weak typeof(self) weakSelf = self;
    [weakSelf.logger startWithMessageAndSeverityHandler:^(NSString * _Nonnull message, RTCLoggingSeverity severity) {
        DebugLog(@"WebRTCLogger startWithMessageAndSeverityHandler severity:%@,message:%@", [weakSelf loggingSeverityDescription:severity], message);
    }];
}

完整代码如下

WebRTCLogger.h

objectivec 复制代码
#import <Foundation/Foundation.h>
#import <WebRTC/WebRTC.h>
#import <UIKit/UIKit.h>

@interface WebRTCLogger : NSObject

- (void)start;

- (void)stop;

@end

WebRTCLogger.m

objectivec 复制代码
#import "WebRTCLogger.h"

@interface WebRTCLogger ()

@property (nonatomic, strong) RTCCallbackLogger *logger;

@end

@implementation WebRTCLogger

- (instancetype)init
{
    self = [super init];
    if (self) {
        self.logger.severity = RTCLoggingSeverityVerbose;
        // 设置日志记录器
        RTCSetMinDebugLogLevel(RTCLoggingSeverityVerbose);
    }
    return self;
}

- (void)start {
    __weak typeof(self) weakSelf = self;
    [weakSelf.logger startWithMessageAndSeverityHandler:^(NSString * _Nonnull message, RTCLoggingSeverity severity) {
        DebugLog(@"WebRTCLogger startWithMessageAndSeverityHandler severity:%@,message:%@", [weakSelf loggingSeverityDescription:severity], message);
    }];
}

- (void)stop {
    [self.logger stop];
}

- (NSString *)loggingSeverityDescription:(RTCLoggingSeverity)severity {
    if (RTCLoggingSeverityVerbose == severity) {
        return @"RTCLoggingSeverityVerbose";
    }
    
    if (RTCLoggingSeverityInfo == severity) {
        return @"RTCLoggingSeverityInfo";
    }
    
    if (RTCLoggingSeverityWarning == severity) {
        return @"RTCLoggingSeverityWarning";
    }
    
    if (RTCLoggingSeverityError == severity) {
        return @"RTCLoggingSeverityError";
    }
    
    if (RTCLoggingSeverityNone == severity) {
        return @"RTCLoggingSeverityNone";
    }
    
    return @"RTCLoggingSeverityNone";
}

#pragma mark - Lazy
- (RTCCallbackLogger *)logger {
    if (!_logger) {
        _logger = [[RTCCallbackLogger alloc] init];
    }
    return _logger;
}

@end

二、使用WebRTCLogger

我们需要启动WebRTCLogger,我们在使用地方,创建实例对象。

objectivec 复制代码
- (WebRTCLogger *)webRTCLogger {
    if (!_webRTCLogger) {
        _webRTCLogger = [[WebRTCLogger alloc] init];
    }
    return _webRTCLogger;
}

在需要的地方开启日志log

objectivec 复制代码
/**
 开启RTCLogger
 */
- (void)startWebRTCLogger {
    [self.webRTCLogger start];
}

当关闭推拉流后关闭日子log

objectivec 复制代码
/**
 停止RTCLogger
 */
- (void)stopWebRTCLogger {
    [self.webRTCLogger stop];
}

至此,通过webRTCLogger看到WebRTC在推拉流过程中输出的相关日志信息

其他

之前搭建ossrs服务,可以查看:https://blog.csdn.net/gloryFlow/article/details/132257196

之前实现iOS端调用ossrs音视频通话,可以查看:https://blog.csdn.net/gloryFlow/article/details/132262724

之前WebRTC音视频通话高分辨率不显示画面问题,可以查看:https://blog.csdn.net/gloryFlow/article/details/132240952

修改SDP中的码率Bitrate,可以查看:https://blog.csdn.net/gloryFlow/article/details/132263021

GPUImage视频通话视频美颜滤镜,可以查看:https://blog.csdn.net/gloryFlow/article/details/132265842

RTC直播本地视频或相册视频,可以查看:https://blog.csdn.net/gloryFlow/article/details/132267068

实现ossrs拉流,可以查看:https://blog.csdn.net/gloryFlow/article/details/132417602

三、小结

WebRTC音视频通话-WebRTC推拉流过程中日志log输出。在WebRTC日志需要用到RTCCallbackLogger,使用startWithMessageAndSeverityHandler来处理日志输出。

https://blog.csdn.net/gloryFlow/article/details/132598363

学习记录,每天不停进步。

相关推荐
Yutengii17 小时前
b站视频下载到电脑本地的方法有哪些
音视频
summerkissyou198719 小时前
Android13-Audio-AudioTrack-播放流程
android·音视频
Black蜡笔小新20 小时前
安防监控/录像存储EasyCVR视频汇聚平台无法启动的原因排查
音视频
xingqing87y21 小时前
祝寿视频怎么制作:4步制作创意祝寿视频
音视频
qq_2562470521 小时前
Spring Boot + NATS 实战:如何让 IM 系统处理图片/视频像处理文本一样快?
spring boot·后端·音视频
何包蛋H1 天前
医疗视频播放组件开发实战:支持病灶标注、缓存播放与性能优化
微信小程序·音视频·notepad++
好游科技1 天前
使用WebRTC开发直播系统源码与音视频语聊房实践指南
音视频·webrtc·im即时通讯·社交软件·社交语音视频软件
一点晖光1 天前
ffmpeg合成的视频在ios浏览器不能播放的问题
ffmpeg·音视频
kkk_皮蛋1 天前
WebRTC 视频编码核心技术解析:从 GOP 结构到时间戳管理
音视频·webrtc
小c君tt1 天前
FFmpeg音视频-库使用2
qt·ffmpeg·音视频