# low_latency_encoding_onevpl **Repository Path**: tisandman/low_latency_encoding_onevpl ## Basic Information - **Project Name**: low_latency_encoding_onevpl - **Description**: Low latency video encoding sample based on Intel OneVPL. Working on Intel GPU (working on Intel integrated or discrete GPU) - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-13 - **Last Updated**: 2025-03-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # low_latency_encoding_onevpl #### 介绍 把基于Intel Media SDK 2021r1开发的串流编码程序迁移到OneVPL 2023.2的版本, 用来验证MediaSDK迁移到OneVPL的过程 #### 软件架构 - 需要安装OneVPL 2023.2 (需要从github下载源码并编译)和VS2017来编译 - 硬件方面使用了Intel显卡硬编码,所以需要Intel的集显或者独显 (建议使用TigerLake及之后的Gen12架构的显卡,更早的显卡也能运行,但是编码的速度可能不能满足串流所需的编码时间的需求) - 编码所需的YUV或者RGB的输入数据建议使用FFMPEG自己生成,项目里放了一个ffmpeg_convert_rawpixels_cmd.txt,里面是我用的转换命令参数作参考 - MediaSDK到OneVPL所需的改动,用`USE_MEDIASDK`的宏定义做了标记,另外也可以对比[https://gitee.com/tisandman/low_latency_encoding](https://gitee.com/tisandman/low_latency_encoding) 的代码。2个版本逻辑代码完全一致,只是分别用了MediaSDK和OneVPL #### 使用说明 1. 编译时的控制开关 一些控制开关放在simple_encode_vmem_lowlat.cpp文件头部 `ENC_AVC/ENC_HEVC` 用来控制是编码成AVC还是HEVC码流,2个define只需要打开一个 `ENABLE_FORCE_IDR` 用来测试在强制某帧编码为I帧 `ENABLE_INSERT_SEI` 用来测试在编码帧内插入SEI消息 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)