行车记录仪 - 录像 - 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 将会释放指定数据点的内存区域 。因此存在一些约束。
相关新闻
- 2022-01-28 S32DS——PE调试器使用
- 2022-01-28 华硕M2N-MX SE主板如何进入bios设置
- 2022-01-28 华硕B85-A主板如何是通过bios设置u盘
- 2022-01-27 ltraISO 生成u盘启动盘后处理事项
- 2022-01-27 华硕P5QL-CM主板如何通过bios设置u盘
- 2022-01-27 微pe怎么安装原版win11 微pe安装原版
- 2022-01-26 win10 esd系统怎么用pe安装
- 2022-01-26 电脑系统装机教程图解(电脑装机
- 2022-01-25 非mbr怎么激活
- 2022-01-25 eprime安装教程
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
