zl程序教程

您现在的位置是:首页 >  其他

当前栏目

视频倒放原理实现(二十五)

原理 实现 视频 二十五
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数据采样率与声道保持一致.