在humanoid-gym训练以及演示过程中记录的视频无法在Vscode中播放
用Humanoid-gym这套框架训练之后,运行其提供的play.py记录下的视频无法在Vscode中播放。由于我在远程服务器上训练,要想查看演示效果就得下载到本地再播放,十分不方便。
humanoid-gym原有的记录视频的代码如下:
1 |
|
其记录的视频无法在Vscode中播放,导致我需要将其下载到本地才能播放,非常麻烦。最后发现其根本原因在于编码格式(Codec)的问题。代码中使用了fourcc=cv2.VideoWriter_fourcc(*"mp4v")
,这会使用 MPEG-4 Part 2 视频编解码器。然而,VSCode 内置的视频播放器对视频编码格式的支持非常有限。可以尝试将fourcc
参数修改为 avc1
或 X264
。avc1 是 H.264 编码的 FourCC 之一,通常有更好的兼容性。
然而,环境中安装的OpenCV版本在编译时没有包含或链接到支持 H.264 编码的后端库(如 FFmpeg)(尤其是在通过 pip 安装标准 opencv-python 包时,因为 H.264 编码器涉及软件专利许可问题。)
测试代码:
1 |
|
输出:
1 |
|
一种方法是想办法通过Conda安装一个更完整的OpenCV,另一种方法是用imageio库,仅需修改几行:
1 |
|
这样就能在Vscode中播放了。
在humanoid-gym训练以及演示过程中记录的视频无法在Vscode中播放
https://misaka0502.github.io/2025/08/14/humanoid-play-video-bug/