视频倒放原理实现(二十五)
原理 实现 视频 二十五
2023-09-14 09:16:05 时间
第一种方式
1.视频
<1>.从第一个gop然后顺序解码
<2>.将一个解码的gop的yuv写入文件中
<3>.将第二个gop顺序解码yuv写入文件
第三个gop序列,以此类推....
<4>.然后倒序读入内存中,进行编码即可.
缺点:如果文件过大,不能使用此方法,因为yuv文件较大,一分钟yuv就有1-2G左右,有可能撑爆sdcard.
2.音频部分
解码后的pcm数据,顺序写入队列中缓存队列中,输出pcm数据采样率与声道保持一致.
第二种方式
1.视频
<1>.全部遍历视频一遍,获取一共有多少gop序列
<2>.跳到(seek)到最后一个gop的I帧,然后把这个gop解码的yuv存放在sdcard
<3>.再逆序读出这个解码的gop的yuv,进行编码,这样最后一个gop就变成了第一帧的gop;
<4>.接下来seek到倒数第一个gop的I帧,依次类推,把每个gop解码、然后编码
2.音频部分
解码后的pcm数据,顺序写入队列中缓存队列中,输出pcm数据采样率与声道保持一致.
相关文章
- javaweb分页显示_java分页查询原理思路
- 视频直播技术大全、直播架构、技术原理和实现思路方案整理
- 深入分析 Watcher 机制的实现原理(一)客户端注册watcher
- 深入分析 Watcher 机制的实现原理(三)客户端接收服务端处理完成的响应及事件触发
- MySQL 事务隔离级别的实现原理
- 用 Charles 断点调试 HTTPS 请求,原理揭秘
- golang select实现原理
- 利用连按 5 下 Shift 漏洞破解 win7 开机密码(原理以及实现)
- 卡塔尔世界杯半自动越位识别技术(SAOT)的工作原理
- 理解go中空结构体的应用和实现原理
- 【Java 虚拟机原理】Java 类加载过程 ( 加载 | 连接 - 验证 准备 解析 | 初始化 | 使用 | 卸载 )
- Oracle数据库系统的原理及其实现(oracle原理)
- 多个语句Oracle事务同时提交多个语句实现原理与优势(oracle事务同时提交)
- Asp.net中断点续传的原理与实现方法分享
- 实现局部遮罩与关闭原理及代码
- 使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
- jQuery截取指定长度字符串的实现原理及代码