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

如何正确修改oneVPL hello-vpp示例的输出视频分辨率?修改后输出文件损坏问题咨询

解决oneVPL hello-vpp示例输出1280x720视频的正确方法

直接修改ffplay的播放参数没用,因为输出的out.raw文件本身的分辨率和格式还是原示例的设置,导致播放器解析错误出现卡顿损坏。你需要从修改示例代码+正确编译+匹配播放参数三个步骤来解决:

1. 修改hello-vpp示例的输出分辨率设置

找到hello-vpp示例的核心代码文件(通常是main.cpp),定位到设置输出视频参数的部分:

  • 查找类似VppVideoInfo out_info的结构体定义,或是设置输出宽高的变量(比如output_width、output_height)。
  • 将宽度值改为1280,高度值改为720。
  • 同时确保输出的像素格式和输入一致(比如原示例常用的NV12),如果需要修改格式,也要同步调整对应的参数(比如out_info.fourcc)。

举个常见的代码修改示例:

// 原代码可能是这样的
VppVideoInfo out_info = {};
out_info.width = 1920;
out_info.height = 1080;
out_info.fourcc = VA_FOURCC_NV12;

// 修改为目标尺寸
out_info.width = 1280;
out_info.height = 720;

2. 重新编译构建示例程序

按照仓库README里的构建步骤重新编译,确保代码修改生效:

mkdir -p build && cd build
cmake ..
make

3. 用正确的参数播放输出文件

raw格式视频没有容器元数据,必须告诉ffplay完整的视频信息才能正确播放,比如指定像素格式、帧率和尺寸:

ffplay -f rawvideo -pixel_format nv12 -video_size 1280x720 -framerate 30 out.raw
  • -pixel_format:替换成你代码里设置的格式(比如nv12、yuv420p),必须和输出文件的实际格式一致。
  • -framerate:设置为输入视频的帧率(比如30、25),避免播放速度异常。

额外排查建议

  • 检查程序运行时的输出日志,如果有VPL相关的错误提示(比如缩放不支持、参数不匹配),根据提示调整代码。
  • 确认输入视频的尺寸是否支持缩放到1280x720,比如部分硬件VPP对缩放的宽高比例有要求,尽量保持和输入同比例(比如16:9)。

内容的提问来源于stack exchange,提问作者user16867861

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 10:13:14