行车记录仪 - 录像 - ffmpeg AVPacket 复用_qazw9600的 ...
来源:http://www.tudoupe.com时间:2022-01-08
说明
要使用 ffmpeg 获得视频功能, 每个数据框架必须构建一个 AVPacket 变量, 提供给 av_ write_ frame, 其典型过程如下:

av_ newpack 函数需要在一定数量的内存空间中存储媒体数据。执行 av_ write_ frame 后, 我们必须使用 av_ packet_ free 来释放记忆空间 。这是汽车录音机产品的高编码率。较高帧率,这是一个很长的录音会。不能低估这一周期对业绩的影响。生成 AVPacket 需要以下时间:
- 优化措施:AVPacket再利用,测量高耗时变化,最多200至300毫秒。
重新使用 AVPackets
先使用 av_packet_allec 构建 AVPacket, 然后在 AVPacket 上循环, 并写入每个数据流 :

AVPacket 接口在 libavcodc/avpacket 上实施。 在 C 中, AVPacket 所需的内存空间的应用和扩展都包括在该函数中, APP 将大小发送到该函数中 。
纠正后的实际测量几乎只用了不到一毫秒,只有很小的百分比超过一毫秒,如下文所示:
data内存复用
- AVPacket 变量和内存空间可以重新使用。尽管如此,写入每个框架都需要对AVPacket变量的数据内存区域进行数据存储。当数据量增加时,Memcpy所需要的时间也会增加。以下的例行程序可以减少对mmcpy的使用 :
- av_packet_ from_data 函数将数据指针值指向 AV Packet 的数据指针。不需要做内存拷贝,然而,当 AVPacket 被释放时, av_buffer_unref 将会释放指定数据点的内存区域 。因此存在一些约束。
相关新闻
- 2023-05-06 微pe怎么初始化U盘(微pe怎么恢复初
- 2023-05-06 Xp系统boot 进入pe(boot manager 怎么进入
- 2023-05-06 win pe修复bcdboot(pe修复系统)
- 2023-05-06 win7更新失败 pe(win7更新失败还原更
- 2023-05-06 u盘装了pe读取不了(u盘能进pe读取不
- 2023-05-06 u盘pe 发热(u盘发热烫手)
- 2023-05-06 u盘pe下看不到硬盘(u盘启动pe看不到
- 2023-05-06 pe盘 ntfs(u盘ntfs格式)
- 2023-05-06 sony笔记本进入pe模式(联想笔记本怎
- 2023-05-06 pe启动盘进不去(pe启动盘进不去系统
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
