红石中继站
    • 资源
    • 新帖
    • 版块
    • 热门
    • 登录

    未解决 如何为ReplayMod的渲染提速

    模组问答
    3
    15
    307
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • LeafingXYZL
      LeafingXYZ
      最后由 编辑 · 北京市

      如题,我正在使用ReplayMod渲染视频,但是渲染速度非常慢(1秒5帧不到),我的CPU是AMD R5 7500F,我的GPU是4060 Ti(8GB),给Minecraft分配了8GB内存,在渲染时CPU占用越20%左右,GPU占用几乎为0%,内存占用4GB左右,显然没有完全利用性能。


      我渲染的视频是MP4-自定义码率,1920*1080,20Mbps,60fps,2x图形保真

      这是我的命令行参数

      -y -f rawvideo -pix_fmt bgra -s %WIDTH%x%HEIGHT% -r %FPS% -i - %FILTERS%-an -vcodec h264_nvenc -b:v %BITRATE% -pix_fmt yuv420p -threads 12 -preset p7 "%FILENAME%"
      

      这是ReplayMod默认提供的命令行参数

      -y -f rawvideo -pix_fmt bgra -s %WIDTH%x%HEIGHT% -r %FPS% -i - %FILTERS%-an -c:v libx264 -b:v %BITRATE% -pix_fmt yuv420p "%FILENAME%"
      

      想问一问大佬们如何提高渲染速度

      LeafingXYZL 1 条回复 最后回复 回复 引用
      • LeafingXYZL
        LeafingXYZ @游客
        最后由 编辑 · 北京市

        补充:

        ffmpeg version N-117414-gb9145fcab2-20241008
        

        已安装CUDA

        1 条回复 最后回复 回复 引用
        • BaimoQilinB
          BaimoQilin
          最后由 编辑 · 江苏省

          浅读了一下代码,我的理解是 FFmpeg 只负责将 OpenGL 捕获到的帧编码成视频,实际渲染是在 OpenGL 的渲染管道中。你的命令行参数-vcodec h264_nvenc只将编码部分使用 GPU 加速了,OpenGL 渲染也会用 GPU 处理,但是帧捕获都是 CPU 处理的:
          OpenGlFrameCapturer.java#L106

          GL11.glReadPixels(0, 0, getFrameWidth(), getFrameHeight(), GL12.GL_BGRA, GL11.GL_UNSIGNED_BYTE, buffer);
          

          从 vRAM 读取像素数据到 RAM,CPU 密集型操作;
          还有缓冲区这里,也是 CPU 处理:OpenGlFrameCapturer.java#L104

          ByteBuffer buffer = ByteBufferPool.allocate(getFrameWidth() * getFrameHeight() * 4);
          

          1秒5帧确实太慢了。我想你也可以降低渲染画质,目前国内主流的视频网站码率都较低,上传时也会压缩,导致实际效果可能和降低画质的版本相差无几。
          如果实在不满意,后期也可以通过 QualityScaler 等开源的 AI 视频画质提升项目来修复,这些项目会调用 CUDA 加速,且生成质量通常与原画接近。

          初二在读 | LLM/AI 爱好者
          GitHub CyniaAI 系列开源 LLM Agents 项目维护者
          Hypiworld 机械筑梦腐竹 现已停运,另见 #492

          个人主页 | GitHub主页 | 微信公众号 | 日志随笔 | 知乎专栏

          ✨ 用冰冷的理性温暖世界

          我的最新文章: 评“煤炭压力版”事件:观研报告网们敲响的 LLM 信息污染警钟 | 评“姚北实验学校食堂惊现活蛆”事件 | BukkitGPT 开发日志: 添加 AI 编辑现有 Bukkit 插件的功能 | ...

          LeafingXYZL 3 条回复 最后回复 回复 引用
          • LeafingXYZL
            LeafingXYZ @游客
            最后由 编辑 · 北京市

            @BaimoQilin 我看到有人渲染高画质的视频能做到一秒几百帧的,有点羡慕
            但是实际上我的CPU也没吃满,我注意到如果把图形保真关闭似乎能做到1秒70帧左右,但是画面会很糊,有什么解决办法吗

            1 条回复 最后回复 回复 引用
            • LeafingXYZL
              LeafingXYZ @游客
              最后由 编辑 · 北京市

              @BaimoQilin 或者我可不可以绕过Replaymod直接调用ffmpeg渲染?

              BaimoQilinB 1 条回复 最后回复 回复 引用
              • LeafingXYZL
                LeafingXYZ @游客
                最后由 编辑 · 北京市

                @BaimoQilin 实际上我玩Minecraft的时候帧率都能达到120帧以上,所以这里1秒5帧我很不理解,或者可以加速openGL渲染速度吗

                1 条回复 最后回复 回复 引用
                • BaimoQilinB
                  BaimoQilin @游客
                  最后由 编辑 · 江苏省

                  @LeafingXYZ

                  或者我可不可以绕过Replaymod直接调用ffmpeg渲染?

                  ㅤㅤㅤ
⬇️

                  FFmpeg 只负责将 OpenGL 捕获到的帧编码成视频,实际渲染是在 OpenGL 的渲染管道中
                  https://forum.mczwlt.net/post/1301


                  但是画面会很糊,有什么解决办法吗

                  ㅤㅤㅤ⬇️

                  如果实在不满意,后期也可以通过 QualityScaler 等开源的 AI 视频画质提升项目来修复,这些项目会调用 CUDA 加速,且生成质量通常与原画接近。
                  https://forum.mczwlt.net/post/1301

                  初二在读 | LLM/AI 爱好者
                  GitHub CyniaAI 系列开源 LLM Agents 项目维护者
                  Hypiworld 机械筑梦腐竹 现已停运,另见 #492

                  个人主页 | GitHub主页 | 微信公众号 | 日志随笔 | 知乎专栏

                  ✨ 用冰冷的理性温暖世界

                  我的最新文章: 评“煤炭压力版”事件:观研报告网们敲响的 LLM 信息污染警钟 | 评“姚北实验学校食堂惊现活蛆”事件 | BukkitGPT 开发日志: 添加 AI 编辑现有 Bukkit 插件的功能 | ...

                  LeafingXYZL 4 条回复 最后回复 回复 引用
                  • LeafingXYZL
                    LeafingXYZ @游客
                    最后由 编辑 · 北京市

                    @BaimoQilin 我不太希望使用第三方工具,因为如果不开图形保真画质损失很大(比如玩家名只剩像素点),我不认为AI工具能够把这个都补出来

                    1 条回复 最后回复 回复 引用
                    • LeafingXYZL
                      LeafingXYZ @游客
                      最后由 编辑 · 北京市

                      @BaimoQilin 不开图形保真fde8e7e1-5dc9-42d7-b1ca-828bba251866-image.png

                      1 条回复 最后回复 回复 引用
                      • LeafingXYZL
                        LeafingXYZ @游客
                        最后由 编辑 · 北京市

                        @BaimoQilin 开了之后e2dfc6b0-b774-4a5f-a548-2a3cccf69fb7-image.png

                        BaimoQilinB 1 条回复 最后回复 回复 引用
                        • LeafingXYZL
                          LeafingXYZ @游客
                          最后由 编辑 · 北京市

                          @BaimoQilin 我尝试了一下,如果只是降低码率的话渲染速度几乎不变,还是1秒5帧

                          1 条回复 最后回复 回复 引用
                          • BaimoQilinB
                            BaimoQilin @游客
                            最后由 编辑 · 江苏省

                            @LeafingXYZ 在 如何为ReplayMod的渲染提速 中说:

                            @BaimoQilin 开了之后e2dfc6b0-b774-4a5f-a548-2a3cccf69fb7-image.png

                            感觉差异不是很大。如果你上传到国内的大部分视频网站上,压缩后也就是图1的样子。当然,如果你对画质有高要求,且视频时长较短的话,也可以选择长时间的等待。

                            初二在读 | LLM/AI 爱好者
                            GitHub CyniaAI 系列开源 LLM Agents 项目维护者
                            Hypiworld 机械筑梦腐竹 现已停运,另见 #492

                            个人主页 | GitHub主页 | 微信公众号 | 日志随笔 | 知乎专栏

                            ✨ 用冰冷的理性温暖世界

                            我的最新文章: 评“煤炭压力版”事件:观研报告网们敲响的 LLM 信息污染警钟 | 评“姚北实验学校食堂惊现活蛆”事件 | BukkitGPT 开发日志: 添加 AI 编辑现有 Bukkit 插件的功能 | ...

                            1 条回复 最后回复 回复 引用
                            • Sheep-realmsS
                              Sheep-realms 管理员
                              最后由 编辑 · 广西壮族自治区

                              ReplayMod 的渲染速度也就这样了,我另外推荐一款类似的模组:Flashback,这款模组比较新,也许能在渲染速度上有所优化

                              BaimoQilinB LeafingXYZL 2 条回复 最后回复 回复 引用
                              • BaimoQilinB
                                BaimoQilin @游客
                                最后由 编辑 · 江苏省

                                @Sheep-realms flashback 我用过,确实相当不错 界面也更人性化
                                可惜的是只支持 1.21.x ,低版本还得老老实实用 ReplayMod.

                                初二在读 | LLM/AI 爱好者
                                GitHub CyniaAI 系列开源 LLM Agents 项目维护者
                                Hypiworld 机械筑梦腐竹 现已停运,另见 #492

                                个人主页 | GitHub主页 | 微信公众号 | 日志随笔 | 知乎专栏

                                ✨ 用冰冷的理性温暖世界

                                我的最新文章: 评“煤炭压力版”事件:观研报告网们敲响的 LLM 信息污染警钟 | 评“姚北实验学校食堂惊现活蛆”事件 | BukkitGPT 开发日志: 添加 AI 编辑现有 Bukkit 插件的功能 | ...

                                1 条回复 最后回复 回复 引用
                                • LeafingXYZL
                                  LeafingXYZ @游客
                                  最后由 编辑 · 北京市

                                  @Sheep-realms 有点可惜,我是1.20.1forge

                                  1 条回复 最后回复 回复 引用
                                  • 第一个帖子
                                    最后一个帖子
                                    "Minecraft" 以及 "我的世界" 为 Mojang Synergies AB 的商标,本站与 Mojang 以及 Microsoft 没有从属关系
                                    © 2024-2025 红石中继站 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载
                                    侵权投诉邮箱:[email protected]
                                    由 长亭雷池WAF 提供安全检测与防护 由 WAFPRO 提供 SCDN 安全加速
                                    苏公网安备32050902102328号 苏ICP备2023043601号-8