VAPS XT开发入门教程52:视频播放器

系列索引:VAPS XT入门系列索引

上一篇:VAPS XT开发入门教程51:VxWorks653移植

VAPS XT4.2及以后的版本中提供了视频解码器插件,用于配合视频模块在界面播放视频。

本文提供一种视频播放方式,可以在之前的版本中使用,或者作为官方模块的补充。

VAPS XT入门34:加载VAPS XT CodedObject DLL中我们介绍了基于OpenGL显示画面的操作,本文基于此操作。

本文的操作为:

  • 创建共享内存sm
  • 使用ffmpeg解码视频,并将解码后的数据填充到sm中
  • 创建CodedObject DLL并从sm中获取数据
  • 使用OpenGL将sm中的数据显示在界面上

根据以上操作流程,可以知道此方法只适用于Windows平台(因为CodedObject只能在Windows上)。

解码

创建一个Qt项目用于显示测试是否解码正常。

参考FFmpeg5入门教程07:解码视频并保存为YUV格式文件(YUV420P/YUV420SP)使用FFmpeg解码视频并填充数据至共享内存中

解码完成后,发送信号给界面通知解码完成。

CodedObject

创建一个根工程名为Video

按照VAPS XT入门34:加载VAPS XT CodedObject DLL创建一个空CodedObject界面,名为H264Video

然后从共享内存中提取界面后的YUV数据,并作为纹理绘制到界面中,可以参考QOpenGL入门09:纹理贴图

效果为

video

说明

如果你有问题,如果是简单的问题可以发邮件给免费解惑,如果涉及难问题或者需要提供附加的服务(比如授权、大工程集成编译、多分区相关,或者作为中间商联系Presagis)可以联系上海亥伯智能科技有限公司 邮箱


VAPS XT开发入门教程52:视频播放器
https://feater.top/vapsxt/vapsxt-play-video-with-codedobject
作者
JackeyLea
发布于
2022年6月4日
许可协议