当前位置: 首页 > 知识库问答 >
问题:

av_read_frame之后ffmpeg中的数据包大小

曾高杰
2023-03-14

我在FFMPEG中有以下疑问,请澄清。

2.视频数据包的大小从最小的14到最大的21824不等。请指出为什么视频数据包的大小不一样,某处写着:对于视频,一个数据包意味着一帧,所以如果对于视频,PKT->size=14也等于一帧视频。(pkt属于AVPacket类型)。

3.如果我们在解析mp4流的同时,在Probe函数中对其进行解复用,并将其存储在某个缓冲区中,或者调用av_read_frame对其进行解复用。

4.是否可以在ffmpeg中对mp4文件进行解复用,然后在一个数据包流中分配A/V,其中视频数据包的stream_index为1,音频数据包为0。或者它必须在不同的流中。

5.传输流和mp4文件ffmpeg处理的区别。如果两者都被解调,以相同的方式解码,或者是不同的。

向Mayank致意

共有1个答案

惠泳
2023-03-14

从多个流创建媒体文件。流可以是mnay类型。音频、视频、字幕、元数据等,但一个流不能具有多种类型。

1)av_read_frame(通常)会按帧写入文件的顺序返回帧。如果创建文件的软件不是单调地将帧复用,那么您就不能单调地读取它。

2)这正是视频压缩的工作原理,编解码器只存储帧间的变化,如果运动很小,那么一帧可能与前一帧非常相似,因此delta很小。

4)没有。

5)很大程度上,没有。但是在文件类型上有一些不同。mp4需要随机访问,而TS不需要。

 类似资料:
  • 我总共有96个视频。我已经使用ffmpeg转换了大部分视频,但对于某些视频,它会给我带来一些错误。作为第一步,我使用以下命令将视频逐行扫描: 我得到以下错误: [rawvideo@0x7fa144008c00]缓冲区大小无效,数据包大小2073600 当我试图获取有关视频的信息()时,我得到以下信息: [IMGUTILS@0x7fff5bac8140]图片大小0x0无效 [IMGUTILS@0x7

  • 我一直在写一个程序,它使用UDP上的停止和等待协议通过局域网和广域网发送数据包。我最近一直在测试我的程序,并注意到较大的数据包(接近64k字节)的丢包率更高。直觉上这是有道理的,但实际原因是什么?

  • 在实验运行在esp32上的UDP服务器时,我发现接收到的数据包的大小限制在1500字节: 20(IP头)8(UDP头)1472(数据),(尽管理论上UDP好像可以支持数据包64K)。这意味着,为了传输更大量的数据,客户端必须将其拆分成若干块并依次发送,而在服务器端,这些数据将需要恢复。我认为这种解决方案的管理费用将相当高。我还知道TOIT提供TCP/IP连接。自然,分组大小在TCP/IP的情况下也

  • 我正在使用在我的客户端应用程序中执行以及 最大数据包大小限制也存在于中,即?但是我可以使用中的发送大于最大数据包大小的数据块 这是怎么运作的?这是因为是基于流的,负责在较低层创建数据包吗?有什么方法可以增加UDP中的最大数据包大小吗? 当我在客户端读取时,我从服务器端发送的UDP数据包的一些字节是否可能丢失?如果是,那么有没有办法只检测UDP客户端的损失?

  • 主要内容:1.大数据生态技术,2.数据存储,3.数据存储的发展,4.数据存储的方式1.大数据生态技术 数据存储处理: 清洗, 关联, 规范化, 组织建模, 通过数据质量的检测, 数据分析然后提供相应的数据服务 离线数仓: 实时数仓: 以Kafka, cancal/Maxwell/FlinkCdc为区分, 离线数仓为Hive, Sqoop 实时数仓:分层: Ods, Dwd, Dim, Dwm, Dws, Ads 离线数仓分层: Ods. Dwd, Dws, Dwt, Ads 实

  • 我有fragmens的viewpager,在这么多卷轴应用程序崩溃后,说翻边,甚至他们是没有捆绑交换 在监视的时候,我发现下面的钥匙造成了碰撞 这些都是有缺陷的,我没有分配任何捆绑我如何可以解决这个问题。