- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从一个特殊的框架(比方说pic)制作一个备份框架(AVFrame)。所以,我写了
AVFrame* bkf = avcodec_alloc_frame();
memcpy(bkf,pic,sizeof(AVFrame));
bkf->extended_data = pic->extended_data;
bkf->linesize[0] = pic->linesize[0];
memcpy(bkf->data, pic->data, sizeof(pic->data));
bkf->reordered_opaque = pic->reordered_opaque;
bkf->sample_rate = pic->sample_rate;
bkf->channel_layout = pic->channel_layout;
bkf->pkt_pts = pic->pkt_pts;
bkf->pkt_pos = pic->pkt_pos;
bkf->width = pic->width;
bkf->format = pic ->format;
将 pic 复制到 bkf。但是运行之后,我看到了很多失真。知道如何从解码帧中制作正确的副本吗?
最佳答案
使用av_frame_copy (bkf, pic) 在用 AVFrame *bkf = av_frame_alloc 分配 bkf 之后().
关于ffmpeg:从解码帧(AVFrame)制作副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083278/
我的总体想法是 frame.data[]根据视频的像素格式(RGB 或 YUV)来解释。但是有什么通用的方法可以从帧中获取所有像素数据吗?我只想计算帧数据的哈希值,而不是解释它来显示图像。 根据 AV
我有一个简单的 C++ 应用程序,它使用 FFmpeg 3.2 接收 H264 RTP 流。为了节省CPU,我使用编解码器h264_cuvid进行解码部分。我的 FFmpeg 3.2 是在启用硬件加速
我正在使用 av_frame_alloc() 函数创建 AVFrame 对象并使用内部调用 av_frame_unref() 的 av_frame_free(&frame) 清除它,但它没有正确清理内
我正在编写一个使用 FFMPEG 的应用程序我需要一种方法来旋转 AVFrame s 为 90、180 和 270 度,因为相机的位置可能不同。我听说有过滤器可以做类似的事情。我读了filtering
我处理来自 AVFrame.data 的原始数据。此帧的像素格式为 AV_PIX_FMT_YUV420P。我想了解此数据位于哪个值范围内。 似乎 UV(在 YUV 方案中)必须在 [-128, 128
我使用 Win32 API 实现了一个桌面录制程序。视频捕获功能有效,但我不知道将音频放入 FFmpeg 编码器的数据结构中。 下面的代码将获取默认输出音频的数据。 // Set wave forma
我想打印出视频帧的一些属性:我研究了 AVFrame 结构,但只发现了以下令人失望的地方: attribute_deprecated short * dct_coeff attribute_de
我正在使用 libav(为 MSVC 构建的 2.7)使用 dshow 打开相机: input_format = av_find_input_format("dshow"); avformat_ope
我在将原始视频数据写入 AVFrame 时遇到段错误和/或超出范围的内存写入,因此无法使用 ffmpeg 库对视频进行编码。因此,我只想问我的一个假设是否正确。 我是否正确假设 AVFrame.dat
为了方便管理AVFrame资源,我想把AVFrame转成class,但是不知道怎么写我的复制构造函数和赋值函数用默认的AVFrame(使用av_frame_alloc()来分配)。 最佳答案 你有两个
我将 AVFrames 收集到数组中,然后释放它们,但这会导致内存泄漏。 extern "C" { #include #include } #include #include AVFrame
我想通过使用 ffmpeg 的功能而不是命令行实用程序在 AVFrame 上绘制视频叠加层,如线条、圆形、矩形和打印文本。 有没有人知道怎么做? 你有这个函数的源代码吗? 最佳答案 当我开始处理视频流
我想从一个特殊的框架(比方说pic)制作一个备份框架(AVFrame)。所以,我写了 AVFrame* bkf = avcodec_alloc_frame(); memcpy(bkf,pic,si
我尝试将原始 PCM 声音编码为 G711A 和 G711U,然后对其进行解码,使用此编解码器一切正常,因为我可以为 AVCodecContext frame_size 选择任何值进行编码,但在 Op
我试图理解 AVFrame,特别是 linesize 属性。 这是我解码的 AVFrame 属性: width = 640 height= 360 linesize[0] = 640 linesize
我试图找到 AVFrame.linesize[] 的每个单元格的含义,但我没有找到。 据我了解,linesize[0] 是宽度,linesize[1] 是高度。 如果我是对的,其他单元格是什么意思?
作为一个更大项目的一部分,我正在尝试同时解码多个高清 (1920x1080) 视频流。每个视频流都以原始 yuv420p 格式存储在 AVI 容器中。我有一个 Decoder 类,我从中创建了不同线程
我有一个来自 FormatContext 的视频的 AVStream。 [avstream] 读取数据包 解码来自视频的数据包。 现在显示以下内容。 Packet DTS -> 7200.00
我需要访问 FFMPEG 的 AVFrame 对象的每个像素信息(如果它是 RGB,那么每个像素的每个颜色、R、G 和 B) 我怎样才能做到这一点? 最佳答案 如果您已经前进到正确的帧 - 类似于:
如何调整 AVFrame 的大小?我 这是我目前正在做的事情: AVFrame* frame = /*...*/; int width = 600, height = 400; AVFrame* re
我是一名优秀的程序员,十分优秀!