快捷方式

自定义视频渲染

调整视频渲染设置

TorchRL 在其视频日志记录功能上严重依赖 torchvision.ioPyAV 模块。尽管这些库非常方便强大,但要访问您可用的各种选项和设置并不容易。

本指南旨在阐明自定义视频渲染的通用原则,并向您展示如何手动调整您的回放渲染设置以满足您的喜好。

通用原则

最终,torchvision.ioPyAV 会调用 FFmpeg 库来渲染视频。

换句话说:

  • 任何可以输入到 FFmpeg 的内容,我们也可以将其输入到 TorchRL 的 Loggers 中。

  • 对于我们想要使用的任何自定义设置,我们都必须参考 FFmpeg 的文档

视频渲染自定义示例

假设以下片段使我们的视频非常模糊,尽管我们提供了清晰的逐帧图像来拼接它们。

from torchrl.envs import GymEnv, TransformedEnv
from torchrl.record import CSVLogger, VideoRecorder

logger = CSVLogger(exp_name="my_exp")
env = GymEnv("CartPole-v1", from_pixels=True, pixels_only=False)

recorder = VideoRecorder(logger, tag="my_video")
record_env = TransformedEnv(env, recorder)
rollout = record_env.rollout(max_steps=3)
recorder.dump()

由于 TorchRL 的默认视频编解码器是 H264,我们必须更改的设置应该在此范围内。

在本示例中,让我们按照文档的建议,选择一个 恒定速率因子 (CRF)17,并将 预设 设置为 slow

我们可以通过将所有期望的设置(作为关键字参数)附加到 recorder 来改进视频质量,如下所示:

recorder = VideoRecorder(logger, tag = "my_video", options = {"crf": "17", "preset": "slow"})

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源