- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我现在正在处理一个 FFmpeg 项目,我必须存储 AVPacket
的数据来自av_read_frame
, 并将数据填充到新的 AVPacket
用于后续解码。
这是我的问题:当我尝试新建和释放 AVPacket
时,内存泄漏总是发生。
我只是在做一个简单的测试:
for(;;) {
AVPacket pkt;
av_new_packet(&pkt, 1000);
av_init_packet(&pkt);
av_free_packet(&pkt);
}
我究竟做错了什么?
最佳答案
av_new_packet
创建一个数据包并分配数据av_init_packet
将所有数据包成员设置为默认值,并将数据指针设置为 NULL
,av_free_packet
清除所有可见成员,但av_init_packet
.如果您想自己处理数据,请在堆栈上分配数据包对象并自己设置数据(并自己释放):
AVPacket pkt;
av_init_packet(&pkt);
pkt.data = dataBuffer;
pkt.size = dataBufferSize;
// use your packet
// free your dataBuffer
关于c++ - 如何新建和删除 AVPacket?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25438861/
嗨,我正在尝试使用 OpenMax 组件和来自 GitHub 的 hello_video 示例解码视频. 我只需编辑 video.c 并替换 AVFormat 上的“main frame while”
我现在正在处理一个 FFmpeg 项目,我必须存储 AVPacket 的数据来自av_read_frame , 并将数据填充到新的 AVPacket用于后续解码。 这是我的问题:当我尝试新建和释放 A
我正在使用 ffmpeg 编码器生成 AVPackets,现在我想将它们通过 UDP 发送到另一台计算机并在那里显示它们。问题是我不知道如何将数据包转换为字节并返回。我尝试用此方法复制包: AVPac
我正在使用 android NDK 和 FFmpeg native 库开发解码器。我已经使用 Android 工具为项目提供了原生支持,并且我在 videodecoder.cpp 文件中有 C 代码。
我有一个基于 Qt 的桌面应用程序,它从网络获取声音流并使用 QAudioOutput 播放它.我想为用户提供音量控制,以便他可以降低音量。我的代码如下所示: float volume_control
我正在使用 ffmpeg 对视频帧进行编码库,生成 AVPacket带有压缩数据。 感谢最近关于 S/O 的一些建议,我正在尝试使用 WebRTC 通过网络发送该帧。图书馆 libdatachanne
我想制作一个 AVPacket 的拷贝,以便以后在需要时对其进行解码。 AVPacket来自音频流。 av_dup_packet 似乎不起作用。 AVPacket 复制构造函数不起作用。 创建我自己的
我有一个存储在 char * 中的压缩图像,我想将它放回 AVPacket,以便我可以将它放入 ffmpeg 解码器。有人可以展示如何做到这一点吗?任何示例或教程将不胜感激。 提前致谢 最佳答案 我向
我在我的应用程序中使用了 FFMPEg 代码,我需要为我的程序获取 FLV 数据包。为此,我使用 avcodec_encode_video2()。我的问题是该函数创建了 AVPacket 数据包,它不
有没有办法在解码之前将一些用户私有(private)数据附加到 AVPacket 以匹配输入 AVPacket 和解码输出 AVFrame?某种AVFrame::opaque。 具体来说,h264 码
我的程序从网络接收 aac 音频流,并使用 ffmpeg 解码流,所以我必须将流数据打包到 AVPacket 结构,我使用局部变量来执行此操作,代码如下: bool OnRecvAACStream(c
我想编写一个必须通过QT UdpSocket 接收udp 数据包的应用程序,数据包由元数据和视频组成。 视频数据与来自 ffmpeg udp 的相同溪流。 我把这个数据包和选择的视频数据分开了,现在我
我编写了一个代码来读取编码域中的视频,并能够检索帧的大小和持续时间等信息。 AVPacket 类由一个变量作为数据组成。我可以阅读它,但由于它是一个咬数组,我不能以可读格式使用它。我想用这个数据与另一
我正在使用 ffmpeg 库。我想知道一个数据包可以占用多少内存。 我调试检查 AVPacket 上的成员,它们似乎都不合理,例如 AVPacket.size,ec。 最佳答案 如果您提供自己的数据缓
有可能知道一个 AVFrame 有多少个 AVPackets 吗? 我想实现一个用户可以反向播放视频的功能。 由于某些原因,我不想将临时数据放在本地文件中,所以我想直接通过 AVPacket 实现它。
我正在使用 FFMPEG 解码 H264 流,我的代码如下 AVFormatContext *pFormatCtx = NULL; AVCodecContext *pCodecCtx = NULL;
我正在开发一种工具,它从网络接收 h.264 实时流(发送方是硬件编码器),缓冲最后 x 分钟并在触发时创建最后 x 分钟的视频文件。 我的工具能够接收实时流,还可以使用 boost::seriali
我希望能够打开带有视频文件的流,并在解码器中发送我自己的数据包,其中包含我以前使用相同编解码器从不同流中存储的数据。就像在解码器中伪造我自己的数据包一样。 我的方法是使用 H.265 将帧编码为数据包
我正在开发使用 FFMPEG API 发送 mpeg2ts 流的应用程序。(avio_open、avformat_new_stream 等) 问题是应用程序已经具有 AAC-LC 音频,因此不需要对音
我在这里指的是这个线程: Muxing AVPackets into mp4 file 那边的问题与我的问题基本相同,第一个答案看起来很有希望。 用户 pogorskiy 提供的源代码(某种伪)似乎完
我是一名优秀的程序员,十分优秀!