在tx2的gstreamer容器里使用硬件解码器需要预热???

  1. 问题背景
    最近在tx2开发了一个使用硬件解码器抽帧的程序。程序在祼机上运行良好。但在docker容器里有问题。主要表现是:在系统重启后,直接运行容器,gstreamer流水线不能正常工作。但如果在重启后,先使用一下硬件解码器,再运行容器,功能就正常。

  2. 参考资料
    在nvidia的开发者论坛上找到相似情况的帖子:相似情况
    根据描述,以及我自己的测试情况,好像是硬件解码器在容器启动前需要在容器外单独启动。但其中的解决方法对我无效。

  3. 解决方法
    目前暂时用了一种不优雅的方式来解决:在重启系统后,先运行以下使用硬件解码器的命令:
    gst-launch-1.0 filesrc location=sample_720p.mp4 ! decodebin3 ! nvjpegenc ! fakesink
    然后再启动容器。希望以后能找出更好的方法。

  4. 补充:最后发现是固件或驱动目录没有映射进去容器。

你可能感兴趣的:(杂项)