You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04LTS+Matlab2023b使用VideoReader遇GStreamer关键警告

解决Ubuntu 22.04 LTS下Matlab 2023b VideoReader的GStreamer警告问题

问题说明

使用Matlab 2023b的VideoReader读取部分视频文件时,出现以下GStreamer警告:

(MATLAB:4591): GStreamer-Base-CRITICAL **: 10:55:45.909: basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink

该问题不局限于特定视频格式(AVI/MP4均会出现),且更新、重装GStreamer组件后未解决。

可行解决方案

1. 禁用Matlab的硬件加速视频解码

Matlab默认启用的VA-API硬件加速可能与部分视频编码参数不兼容,导致GStreamer处理出错。可通过环境变量强制使用软件解码:

  • 临时生效:启动Matlab前在终端执行:
    export MATLAB_USE_VIDEOIO_HW=0
    matlab
    
  • 永久生效:编辑~/.bashrc或~/.profile文件,添加上述环境变量,执行source ~/.bashrc使设置生效。

2. 指定GStreamer软件解码插件

在Matlab命令行执行以下代码,强制VideoReader调用软件解码组件:

prefset('VideoReaderPlugin', 'GStreamerSoftware');

设置后重启Matlab生效,后续读取视频将优先使用软件解码链。

3. 补充安装GStreamer全量插件

部分视频可能使用特殊编码子格式,需安装完整插件集覆盖更多编码支持:

sudo apt install gstreamer1.0-plugins-ugly gstreamer1.0-plugins-bad gstreamer1.0-libav

4. 转换视频编码格式(临时方案)

若上述方法无效,可先将问题视频转为兼容编码格式(如H.264+AAC)再读取:

ffmpeg -i input_video.mp4 -c:v libx264 -c:a aac output_video_compatible.mp4

内容的提问来源于stack exchange,提问作者Alvaro Perona Lopez de Heredia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:24:55