首页 > 其他分享 >在AVFrame中计算音视频数据大小

在AVFrame中计算音视频数据大小

时间:2022-11-12 21:44:39浏览次数:48  
标签:分享 linesize frame 音视频 channels width 大小 AVFrame

https://blog.csdn.net/weixin_43466192/article/details/121649019

AVFrame* frame;
视频:
如果是packet模式
frame->linesize[0] x frame->width
如果是planner模式
(frame->linesize[0] + frame->linesize[1] + frame->linesize[2]) x frame->width

音频:
如果是packet模式
frame->linesize[0] x frame->channels
如果是planner模式
(frame->linesize[0] + frame->linesize[1]) x frame->channels
值得注意的是,frame->linesize[0]并不是代表frame->data[0]实际的字节数,只要用av_frame_get_buffer给frame->data分配好内存后,frame->linesize[0]已经被赋于一个确切的值。

注意以上两种算法都可能有字节补齐,这部分之前的文章有提到过,下面提供另外一种用格式的计算方式:
视频:
yuv444格式
frame->width x frame->height x 3
yuv422
frame->width x frame->height x 2
yuv420
frame->widht x frame->height x 1.5

音频:
16位的位深
frame->nb_samples x frame->channels x 16 / 2
32位的位深
frame->nb_samples x frame->channels x 32 / 2

相关文章:YUV的plannar,packet及semi-planar格式及RGB

哎呦喂ヾ(✿゚▽゚)ノ~路长馆小,雪轻帘薄,酒热乎,这位爷~您ヾ(✿゚▽゚)ノ~ 里面坐~
本公众号专注分享C++,ffmpeg,opencv等相关音视频知识
webrtc,udp,tcp,rtsp,rtmp,srt/nginx+rtmp等流媒体协议和服务器
同时也会有大厂音视频技术专家不定期直播分享…
国人开发流媒体srs服务器,及yangrtc(国人版的webrtc)协议新动向
偶尔分享下程序员梦呓碎碎念(๑•॒̀ ູ॒•́๑)啦啦啦
目前刚刚开通,接受读者的优质投稿…
鉴于国内音视频圈子小,起步晚,以致分享少,门槛高,特开通分享,一起扇动这阵风吧!
微信扫描下方二维码,关注公众号,赶快进入音视频开发者社区吧!
————————————————
版权声明:本文为CSDN博主「、、、、南山小雨、、、、」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43466192/article/details/121649019

标签:分享,linesize,frame,音视频,channels,width,大小,AVFrame
From: https://www.cnblogs.com/yang131/p/16884747.html

相关文章

  • 合并区间,对象比较大小,int compare(T a, T b)返回值位负数,则认为a小,否则a大
     import java.util.*;/** * Definition for an interval. * public class Interval { *     int start; *     int end; *     ......
  • C语言中大小写转换
    查询ascll码表可以知道在计算机中小写字母和大写字母之间相差32,小写转化成大写就减去32,大写转换成小写就加32例题:输入一个小写字母,输出其对应的大写字母。例如输入q[回......
  • JavaWeb学习(四)EL大小写问题
    当el表达式首字母大写,会判断第二个字母大小写,小写,抛异常;大写,则直接拼接get,形成getter方法当el表达式首字母小写,会判断第二个字母大小写,大写,必须第一个字母大写;否则无法获......
  • B站在实时音视频技术领域的探索与实践
    B站在实时音视频技术领域的探索与实践https://mp.weixin.qq.com/s/NbN4WjBzTjddS8nl6Oh_CgB站在实时音视频技术领域的探索与实践原创 马家忆 哔哩哔哩技术 2022-11-1......
  • linux 修改 dd 镜像 img 文件的大小
    有些复杂的分区会导致磁盘幻树校验失败,比如GPT主引导会记录分区的边界长度,下面的命令慎用,应该只适合fat出来的盘。使用dd命令重新导出从磁盘导出6GB的数据。d......
  • 输入三个数比较大小
    #include<stdio.h>intmain(){ inta=0; intb=0; intc=0;scanf("%d%d%d",&a,&b,&c); if(a<b) { inttmp=a; a=b; b=tmp; } if(a<c) { inttmp=a; a=c; c......
  • Java 比较字符串之间大小
    LZ-Says:心态调整好~啥事儿都得开开心心的~前言公司让实现一个自动清除1小时内数据,SQL不熟悉,无奈之下,只能本地DB存储当前时间+小时去和当前时间进行比对。折腾好半天,突然想到......
  • 过滤CString字符串中各位是数字,大小写字母,符号,汉字
    UNICODE编码下(万国码、国际码、统一码、单一码,双字节字符集编码)UINTGetCharacterType(CStringstr=_T("")){UINTiType=0;//字符串的类型UINTiLen=0;//......
  • springboot文件上传大小限制设置
    一般的web系统基本都会有文件上传功能,文件上传必然涉及到一个问题,就是文件大小,太大的文件不仅传输速度慢,而且对服务器压力巨大,后期的下载和保存都是一种考验。所以有了文......
  • c++字节序判断(大端和小端) 网络传输中的大小端
    Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端 如:16bit宽的......