视频I420裸流保存为文件

1、从TvCamera的ABK回调的OnImageReceived出来的是I420的数据,保存文件的方式如下:
复制代码
void OnImageReceived(const uint8_t* data, size_t size, uint16_t widht, uint16_t height)
{
..............
FILE *fp = fopen("test.yuv", "wb+");
fwrite(data, size, 1, fp);
fclose(fp);
.............
}

生成yuv文件后,可以用pyuv.exe软件打开,注意调整分辨率。分辨率参数是854 * 480,但是在文件中,设置为856*480才能正常打开,这个需要注意。

2、从JpegEncoder回调出来的数据,已经被转码为jpg的数据,保存文件的方式如下:
复制代码
void _OnEncoded(const uint8_t* data, size_t size, uint16_t widht, uint16_t height)
{
..............
FILE *fp = fopen("test.jpg", "wb+");
fwrite(data, size, 1, fp);
fclose(fp);
.............
}
相关推荐
不吃鱼的猫7481 分钟前
【ffplay 源码解析系列】01-开篇-ffplay整体架构与启动流程
c++·架构·ffmpeg·音视频
GISer_Jing1 分钟前
前端营销I(From AIGC)
前端·aigc·ai编程
明月_清风9 分钟前
向 Native 借力:深度拆解 SIMD 加速与 Node.js 异步原生解析
前端·json
明月_清风15 分钟前
无感监控:深度拆解监控 SDK 的性能平衡术与调度策略
前端·监控
键盘鼓手苏苏2 小时前
Flutter for OpenHarmony:markdown 纯 Dart 解析引擎(将文本转化为结构化 HTML/UI) 深度解析与鸿蒙适配指南
前端·网络·算法·flutter·ui·html·harmonyos
芭拉拉小魔仙8 小时前
企业级Vue项目的状态管理:从原理到实战架构
前端·vue.js·架构
恋猫de小郭8 小时前
丰田正在使用 Flutter 开发游戏引擎 Fluorite
android·前端·flutter
Frostnova丶8 小时前
LeetCode 190.颠倒二进制位
java·算法·leetcode
闻哥9 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
hrhcode9 小时前
【Netty】五.ByteBuf内存管理深度剖析
java·后端·spring·springboot·netty