NIMNetCallVideoCaptureParam.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //
  2. // NIMNetCallVideoCaptureParam.h
  3. // NIMAVChat
  4. //
  5. // Created by Netease on 17/3/24.
  6. // Copyright © 2017年 Netease. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <CoreMedia/CMSampleBuffer.h>
  10. #import "NIMAVChatDefs.h"
  11. @class NIMNetCallVideoProcessorParam;
  12. NS_ASSUME_NONNULL_BEGIN
  13. /**
  14. * 视频数据处理Block
  15. *
  16. * @param sampleBuffer 摄像头采集到的视频原始数据
  17. */
  18. typedef void(^NIMNetCallVideoSampleBufferHandler)(CMSampleBufferRef sampleBuffer);
  19. /**
  20. * 音视频视频采集参数
  21. */
  22. @interface NIMNetCallVideoCaptureParam : NSObject
  23. /**
  24. * 期望的发送视频质量
  25. * @discussion 默认是 480P 等级. SDK可能会根据具体机型运算性能和协商结果调整为更合适的清晰度, 导致该设置无效(该情况通常发生在低性能设备上)
  26. */
  27. @property (nonatomic,assign) NIMNetCallVideoQuality preferredVideoQuality;
  28. /**
  29. * 视频裁剪, 默认 16:9
  30. */
  31. @property (nonatomic,assign) NIMNetCallVideoCrop videoCrop;
  32. /**
  33. * 视频采集画面格式, 默认是 420f
  34. */
  35. @property (nonatomic, assign) NIMNetCallVideoCaptureFormat format;
  36. /**
  37. * 使用后置摄像头开始视频, 默认是 YES
  38. */
  39. @property (nonatomic, assign) BOOL startWithBackCamera;
  40. /**
  41. * 初始打开摄像头, 默认是 YES
  42. */
  43. @property (nonatomic, assign) BOOL startWithCameraOn;
  44. /**
  45. 视频采集方向. 该设置会改变采集到的视频画面的角度, 主要用于支持互动直播时的横屏直播: 主播以各种角度手持设备直播, 并设置为该角度的 '视频采集方向', 拉流播放器就可以以正常的角度观看直播.
  46. @discussion 在视频通话场景中, 如果播放端关闭 '自动旋转远端画面', 画面将以采集到的角度展现; 如果播放端开启 '自动旋转远端画面', 无论 '视频采集方向' 如何设置, 播放的画面都是正常的角度
  47. */
  48. @property (nonatomic, assign) NIMVideoOrientation videoCaptureOrientation;
  49. /**
  50. * 视频发送帧率. 默认是 15 FPS
  51. */
  52. @property (nonatomic, assign) NIMNetCallVideoFrameRate videoFrameRate;
  53. /**
  54. * 本地采集的视频数据回调,供上层实现美颜等功能
  55. */
  56. @property (nullable, nonatomic, copy) NIMNetCallVideoSampleBufferHandler videoHandler;
  57. /**
  58. 设置默认的手动对焦框
  59. @discussion 只在支持手动对焦时才起作用,如果设置YES则使用默认的手动对焦框,设置NO表示不使用默认的手动对焦框,可以自己自定义对焦框。
  60. */
  61. @property (nonatomic, assign) BOOL isSupportedManualFocusFrame;
  62. /**
  63. * 是否打开预览镜像 默认打开
  64. */
  65. @property (nonatomic, assign) BOOL isPreviewMirror;
  66. /**
  67. * 是否打开编码镜像 默认关闭
  68. */
  69. @property (nonatomic, assign) BOOL isCodeMirror;
  70. /**
  71. * 视频前处理参数,如需开启前处理请指定该参数,不指定将不开启前处理。
  72. @discussion 如果需要在通话开始时就已添加美颜,水印等前处理,请指定该参数中对应的参数。
  73. */
  74. @property (nonatomic, strong) NIMNetCallVideoProcessorParam *videoProcessorParam;
  75. @end
  76. NS_ASSUME_NONNULL_END