Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.2.4 bugfix 1102 #3408

Merged
merged 18 commits into from
Nov 2, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,35 +29,18 @@
<codeblock props="reserve" outputclass="language-cpp"></codeblock></p>
</section>
<section id="detailed_desc">
<p>如果你想获取 YUV 420 格式以外的原始视频数据,需要在调用 <xref keyref="registerVideoFrameObserver"/> 方法时注册该回调。 成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调返回值中设置期望的视频数据格式。</p>
<note type="note" props="hide">如果你想获取发送端采集的原始视频格式,则在返回值中设置原始视频数据格式为 <apiname keyref="VIDEO_PIXEL_DEFAULT"/>。在不同的平台上,原始视频像素格式也不同,实际的视频像素格式以 <xref keyref="VideoFrame"/> 为准。</note> </section>
<p>你需要在调用 <xref keyref="registerVideoFrameObserver"/> 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。</p>
</section>
<section id="return_values">
<title>返回值</title>
<p><ph>设置 SDK 输出的原始数据格式。</ph><ph props="cpp unreal bp ios mac unity">详见 <xref keyref="VIDEO_PIXEL_FORMAT" props="cpp unreal bp ios mac"/><xref keyref="VIDEO_OBSERVER_FRAME_TYPE" props="unity"/>。</ph></p>
<p><ph>设置 SDK 输出的原始数据格式。</ph><ph props="cpp unreal bp ios mac unity">详见 <xref keyref="VIDEO_PIXEL_FORMAT" props="cpp unreal bp ios mac"/><xref keyref="VIDEO_OBSERVER_FRAME_TYPE" props="unity"/>。</ph></p>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

甚至特意给unity写了,不过unity这个callback_ivideoframeobserver_getvideoformatpreference似乎没放出来

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

对的,写完后查到框架都没有,忘了干掉它

<p>在默认情况下,原始视频像素格式 (<ph keyref="VIDEO_PIXEL_DEFAULT"/>) 存在以下类型:
<ul><li props="cpp bp unreal">在 Android 平台上,默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。</li>
<li props="android">默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。</li>
<li props="cpp unreal bp">在 iOS 和 macOS 平台上,默认的视频帧类型可能为 I420 或 CVPixelBufferRef。</li>
<li props="apple">默认的视频帧类型可能为 I420 或 CVPixelBufferRef。</li>
<li props="cpp unreal bp">在 Windows 平台上,默认为 YUV420。</li></ul></p>
<p props="android">
<note id="default" props="hide">
<p>在不同观测位置和采集场景下,该枚举值对应的实际视频像素格式都不同,建议你不要使用该值。以下列出了一些常见的情况。</p>
<ul>
<li>观测位置为 <apiname keyref="POSITION_POST_CAPTURER"/> 时:
<ul>
<li props="ios">仅支持像素格式为 CVPixelBufferRef 的视频。</li>
<li props="android">在用户采集 YUV 格式的视频数据、或采集的视频分辨率小于 256 × 256 时,支持的视频像素格式为 I420;其他情况下,支持 Texture 格式。</li>
<li props="mac cpp unreal bp">仅支持像素格式为 I420 的视频。</li>
</ul></li>
<li>观测位置为 <apiname keyref="POSITION_PRE_ENCODER"/> 时:
<ul>
<li props="ios">仅支持像素格式为 CVPixelBufferRef 的视频。</li>
<li props="android">在用户采集 YUV 格式的视频数据、或采集的视频分辨率小于 256 × 256 时,支持的视频像素格式为 I420;其他情况下,支持 Texture 格式。</li>
<li props="mac cpp unreal bp">仅支持像素格式为 I420 的视频。</li>
</ul></li>
<li>观测位置为 <apiname keyref="POSITION_PRE_RENDERER"/> 时:
<ul>
<li props="ios mac">默认支持像素格式为 CVPixelBufferRef 的视频。</li>
<li props="android">默认支持像素格式为 Texture 的视频。</li>
<li props="cpp unreal bp">支持像素格式为 I420 的视频。</li>
</ul></li>
</ul>
</note>
<ul>
<li><ph keyref="VIDEO_PIXEL_DEFAULT"/>(0): 原始视频像素格式。</li>
<li><ph keyref="VIDEO_PIXEL_I420"/>(1): I420 格式。</li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<p props="native unreal bp unity electron rn cs">完成前处理后,你可以在该回调中直接修改 <parmname>videoFrame</parmname>,并将返回值设置为 <codeph><ph keyref="true"/></codeph>,即可将修改后的视频数据发送给 SDK。</p>
<note type="attention" id="note">
<ul>
<li>此处获取的视频数据未经过前处理,如水印、裁剪、旋转和美颜等。</li>
<li>此处获取的视频数据未经过水印、裁剪和旋转等前处理。</li>
<li>如果你获取到的视频数据类型为 RGBA,SDK 不支持对 alpha 通道的值进行处理。</li>
<li props="flutter">由于 Flutter 框架的限制,该回调不支持将处理后的视频数据发送回 SDK。</li>
</ul></note> </section>
Expand All @@ -51,9 +51,9 @@
<pd>视频帧数据。详见 <xref keyref="VideoFrame"/>。
<note>通过该回调获取的视频帧数据格式默认值如下:
<ul>
<li props="android cpp unreal bp rn unity flutter">Android:texture</li>
<li props="ios cpp unreal bp rn unity flutter">iOS:cvPixelBuffer</li>
<li props="mac cpp unreal bp electron unity flutter">macOS:YUV 420</li>
<li props="android cpp unreal bp rn unity flutter">Android:I420 或 RGB 纹理格式</li>
<li props="ios cpp unreal bp rn unity flutter">iOS:I420 或 CVPixelBufferRef</li>
<li props="mac cpp unreal bp electron unity flutter">macOS:I420 或 CVPixelBufferRef</li>
<li props="cpp unreal bp electron unity flutter cs">Windows:YUV 420</li></ul></note></pd>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YUV420、YUV422 这些带不带空格有统一的写法不?
image

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

问了 AI,统一干掉空格

</plentry>
</parml> </section>
Expand Down