首页 > 其他分享 >使用ffprobe获取的视频元数据中各个字段的含义--很详细

使用ffprobe获取的视频元数据中各个字段的含义--很详细

时间:2023-02-11 11:12:02浏览次数:37  
标签:表示 视频 此字段 -- 该流 ffprobe 指示 字段 该字

streams: #代表文件中所有流的数组,每一项都是一个字典,包含了该流的详细信息 0 # index: 0 #流的编号,从0开始 codec_name: h264 #编码器的简称,例如h264 codec_long_name: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 #编码格式的详细名称,如 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 profile: High #编码器的级别或者配置,例如High codec_type: video #流的类型,可以是video或者audio codec_tag_string: avc1 #编码格式的字符串标识,如 avc1 表示 H.264 编码 codec_tag: 0x31637661 #编码格式的数字标识,如 0x31637661 width: 720 #视频宽度,单位为像素 height: 1290 #视频高度,单位为像素 coded_width: 720 #视频编码宽度,单位为像素 coded_height: 1290 #视频编码高度,单位为像素 closed_captions: 0 # 0 表示该视频不包含闭路字幕,即随音频而显示的文字。 film_grain: 0 #表示该视频不包含电影纹理,即那种颗粒状的、模糊的画面效果 has_b_frames: 2 #2 表示该视频中包含 2 个 B 帧。B 帧是视频编码中的一种帧类型,它可以利用前后帧的信息预测当前帧,从而提高编码效率 sample_aspect_ratio: 1:1 #采样宽高比 display_aspect_ratio: 24:43 #显示的宽度是高度的 24/43 倍,也就是说,如果显示高度为 1,显示宽度为 24/43 pix_fm: tvyuv420p #指定了像素格式,这里的 tvyuv420p 指的是 YUV 4:2:0 色彩空间 level: 32 #指定了 H.264 的编码级别,32 表示 H.264 标准中的 Level 3.2 chroma_location: left #指定了色度数据的位置,在这里的 left 表示色度数据是偏移在亮度数据的左边的 field_order: progressive #指定了场顺序,progressive 表示逐行扫描 refs: 1 #指定了参考帧的数量 is_avc: true #表示这个视频流是否是 AVC 编码,这里是 true nal_length_size: 4 #指定了 NAL 单元的长度的字节数,这里是 4 id: 0x1 #表示视频流的标识符,0x1 r_frame_rate: 1000000/33333 #指定了帧率的速率,1000000/33333 表示每秒钟有 30 帧 avg_frame_rate: 1000000/33333 #指定了平均帧率,1000000/33333 表示每秒钟有 30 帧 time_base: 1/1000000 #指定了时间基数,1/1000000 表示 1 单位的时间等于 1 微秒 start_pts: 0 #指定了视频流的起始帧的帧号,这里是 0 start_time: 0.000000 #指定了视频流的起始时间,这里是 0.000000 duration_ts: 199631337 #表示媒体文件的总时长,以时间基(time base)为单位。时间基是一个数值,用来计算影片中的每一帧的时间戳。在这种情况下,时间基是 1/1000000,所以 199631337 时间基等于 199.631337 秒 duration: 199.631337 #表示该视频的时长,单位为秒 bit_rate: 398467 #表示该视频的比特率,即视频的每秒传输数据量 bits_per_raw_sample: 8 #表示每个样本使用的位数。如果为 8,则表示每个样本使用 8 位 nb_frames: 5989 #表示该视频的总帧数 extradata_size: 42 #表示该视频的元数据大小。这是可选的附加信息,如视频的颜色空间,编码参数等 disposition #用于视频或音频文件中的附加信息的。它包含关于流中的音频或视频的额外信息,如是否为主要的音频或视频、是否为独立的组成部分等。这些标志使得解码器能够更准确地读取并使用这些流,每个流都可以有自己的 disposition 元数据 default: 1 #表示此流是默认的,将会在播放器中默认播放此流 dub: 0 #此字段指示该流是否是配音的音轨。如果该字段的值为 1,则表示该流是配音的音轨 original: 0 #此字段指示该流是否是原始音轨。如果该字段的值为 1,则表示该流是原始音轨 comment: 0 #此字段指示该流是否是评论音轨。如果该字段的值为 1,则表示该流是评论音轨 lyrics: 0 #此字段指示该流是否是歌词音轨。如果该字段的值为 1,则表示该流是歌词音轨 karaoke: 0 #此字段指示该流是否是卡拉 OK 音轨。如果该字段的值为 1,则表示该流是卡拉 OK 音轨 forced: 0 #此字段指示该流是否是强制字幕。如果该字段的值为 1,则表示该流是强制字幕 hearing_impaired: 0 #此字段指示该流是否是听障人士的字幕。如果该字段的值为 1,则表示该流是听障人士的字幕 visual_impaired: 0 #此字段指示该流是否是视障人士的字幕。如果该字段的值为 1,则表示该流是视障人士的字幕 clean_effects: 0 #此字段指示该流是否是清晰的音效音轨。如果该字段的值为 1,则表示该流是清晰的音效音轨 attached_pic: 0 #此字段指示该流是否是附加的图像。如果该字段的值为 1,则表示该流是附加的图像 timed_thumbnails: 0 # 此字段指示该流是否是定时的缩略图。如果该字段的值为 1,则表示该流是定时的缩略图 captions: 0 #此字段指示该流是否是字幕。如果该字段的值为 1,则表示该流是字幕 descriptions: 0 #此字段指示该流是否是描述。如果该字段的值为 1,则表示该流是描述 metadata: 0 #此字段指示该流是否是元数据。如果该字段的值为 1,则表示该流是元数据 dependent: 0 #此字段指示该流是否是依赖的流。如果该字段的值为 1,则表示该流是依赖的流 still_image: 0 #表示是否是静态图像。如果该字段的值为 1,则表示该流是一个静态图像,而不是一个视频流或音频流。这可以用于表示封面图片等 tags #这是一个元数据字段,用于存储媒体文件的元数据,例如标题、作者、创建日期等 language: und #这是一个语言字段,指示语音的语言代码。其中,und代表未定义语言 handler_name: VideoHandler #这是一个处理程序名称字段,指示媒体文件是如何处理的。在这种情况下,处理程序名称是VideoHandler,意味着该媒体文件是视频格式 vendor_id: [0][0][0][0] #这是一个供应商标识符字段,指示该媒体文件是由哪个供应商创建的。其中,[0][0][0][0]是一个四字节标识符,用于识别供应商 1 # index: 1 ##流的编号 codec_name: aac #这是编解码器名称字段,指示音频文件使用的编解码器名称 codec_long_name: AAC (Advanced Audio Coding) #这是编解码器长名称字段,提供了编解码器的详细信息 profile: LC #这是编解码器配置字段,指示编解码器使用的配置。在这种情况下,配置是LC,意味着该音频文件使用了LC(低复杂性)配置。 codec_type: audio #这是编解码器类型字段,指示编解码器处理的媒体类型,audio,意味着该编解码器处理的是音频数据 codec_tag_string: mp4a #这是编解码器标签字符串字段,指示使用的编解码器的特定标识 codec_tag: 0x6134706d #这是编解码器标签字段,与codec_tag_string相同,但是以十六进制数字表示 sample_fmt: fltp #这是采样格式字段,指示音频文件使用的采样格式。在这种情况下,采样格式是fltp,它代表浮点数格式 sample_rate: 44100 #指示音频文件的采样率 channels: 2 #这是通道字段,指示音频文件中包含的声道数,通道数是2,意味着音频文件包含了左声道和右声道 channel_layout: stereo #这是声道布局字段,提供了声道数的额外信息。在这种情况下,声道布局是stereo,意味着音频文件包含了立体声 bits_per_sample: 0 #这是每个采样位数字段,指示每个样本的位数,位数是0,这可能是因为它是浮点数格式而不是整数格式,因此不存在位数 id: 0x2 #这是流ID字段,指示该流在多流文件中的标识 r_frame_rate: 0/0 #这是实际帧率字段,指示流的实际帧率。在这种情况下,实际帧率为0/0,这可能是因为该字段不适用于音频流 avg_frame_rate: 0/0 #这是平均帧率字段,指示流的平均帧率。在这种情况下,平均帧率为0/0,这可能是因为该字段不适用于音频流 time_base: 1/44100 #这是时基字段,指示时间戳的单位。在这种情况下,时基是1/44100,意味着时间戳表示的是1/44100秒 start_pts: 0 #这是开始PTS(时间戳)字段,指示该流的第一个帧的时间戳 start_time: 0.000000 #这是开始时间字段,指示该流的第一个帧的时间,以秒为单位 duration_ts: 8803330 #这是持续时间戳字段,指示流的持续时间,以时间戳为单位 duration: 199.621995 #这是持续时间字段,指示流的持续时间,以秒为为单位 bit_rate: 128000 #这是比特率字段,指示流的数据传输速率,以比特每秒为单位 nb_frames: 8599 #这是帧数字段,指示流中帧的数量 extradata_size: 2 #这是额外数据大小字段,指示存储在流元数据中的额外数据的大小,以字节为单位 disposition #以下字段同视频流中的解释相同,故不在解释,如需请到视频流中浏览 default: 1 # dub: 0 # original: 0 # comment: 0 # lyrics: 0 # karaoke: 0 # forced: 0 # hearing_impaired: 0 # visual_impaired: 0 # clean_effects: 0 # attached_pic: 0 # timed_thumbnails: 0 # captions: 0 # descriptions: 0 # metadata: 0 # dependent: 0 # still_image: 0 # tags #这是一个元数据字段,用于存储媒体文件的元数据,例如标题、作者、创建日期等 language: und # handler_name: SoundHandler #SoundHandler是一个处理程序名称字段,指示媒体文件是如何处理的。在这种情况下,处理程序名称是SoundHandler,意味着该媒体文件是音频格式 vendor_id: [0][0][0][0] # format # filename: #文件地址 nb_streams: 2 #这是流数字段,指示输入文件中流的数量 nb_programs: 0 #这是程序数字段,指示输入文件中程序的数量(例如,电视节目) format_name: mov,mp4,m4a,3gp,3g2,mj2 #这是格式名称字段,指示输入文件的格式名称,以逗号分隔的列表形式提供 format_long_name: QuickTime / MOV #这是格式长名称字段,提供更详细的信息,说明输入文件的格式 start_time: 0.000000 #这是开始时间字段,指示输入文件中第一个帧的时间,以秒为单位 duration: 199.669000 #这是持续时间字段,指示输入文件的总时长,以秒为单位 size: 13355960 #这是大小字段,指示输入文件的大小,以字节为单位 bit_rate: 535124 #这是比特率字段,指示输入文件的平均数据传输速率,以比特每秒为单位 probe_score: 100 #这是探针得分字段,指示ffprobe工具对该文件的确定性。得分越高,则说明该文件的格式更准确 tags #这是一个元数据字段,用于存储媒体文件的元数据,例如标题、作者、创建日期等 minor_version: 512 #表示该视频格式的次要版本号 major_brand: isom #表示该视频的主要品牌。这里的值 "isom" 表示该视频是 ISO 媒体文件格式 compatible_brand: sisomiso2avc1mp41 #表示该视频兼容的品牌。这里的值 "sisomiso2avc1mp41" 表示该视频是 ISO 媒体文件,并且兼容的媒体文件类型包括 sisom(Simple Interactive Streamables,简单的交互式流),iso2,avc1(H.264 视频编码)和 mp41(MPEG-4 第 1 部分) comment: vid:v0200f3b0000bmo225v3cp589badrgtg #可能存在一些关于该视频的注释,如存在则表示注释内容。这里的值 "vid:v0200f3b0000bmo225v3cp589badrgtg" 表示该字段为注释内容,具体含义不详 encoder: Lavf58.20.100 #表示该视频文件是由什么软件编码生成的。这里的值 "Lavf58.20.100" 表示该视频文件是由 Lavf(Libavformat)版本 58.20.100 生成的 ·    

标签:表示,视频,此字段,--,该流,ffprobe,指示,字段,该字
From: https://www.cnblogs.com/chentiao/p/17111065.html

相关文章

  • ChatGPT简单注册
    首先来张效果图  下面开始正式步骤特别注意,如果第一次在浏览器上操作,请首先打开代理,然后再去操作,不然会提示你的国家区域不支持请记住操作前先把代理打开,同时了解......
  • 使用scikit-learn为PyTorch 模型进行超参数网格搜索
    scikit-learn是Python中最好的机器学习库,而PyTorch又为我们构建模型提供了方便的操作,能否将它们的优点整合起来呢?在本文中,我们将介绍如何使用scikit-learn中的网格搜索功......
  • GO的学习
    GO的学习基础篇:短变量的声明并初始化:使用":="编译器自动识别变量类型变量交换与传统不同,并不需要出现一个临时变量用于交换而是直接b,a=a,b3.匿名变量,在定义......
  • 最大の和
    最大の和#include<bits/stdc++.h>usingnamespacestd;intn,k;inta[100010];longlongper_sum[100010],ans;intmain(){ cin>>n>>k; for(inti=1;i<=n;i+......
  • 前端学习案例16-js中的HMR
    ......
  • bootstrap-js插件1-55
    1引入css和js2复制html组件 3运行之后得到下拉框......
  • bootstrap-js插件2-56
    1大模态框引入html自己定义2说明就可以显示js调用script ......
  • Vue课程22-使用babel-loader处理高级的js语法
        //导入jqueryimport$from'jquery'//导入图片文件importlogofrom"./logo.jpg"//给img标签的src动态赋值$('.box').attr('src',logo)//定义jquery的入口import......
  • 歌谣-jsp学习-web技术的前世今生1
    Web服务器•1990年,第一个Web服务器开始运行•网站服务器•站点服务器•本质上是一个软件系统•安装了web服务器软件的计算机为什么没有流传•操作太复杂•页面不好看•……......
  • jsp初识-2
    早期的网站一般是用标准的HTML文件也就是静态网页制作的,通常没有后台数据库、不能和用户交互,内容更新起来相对也比较麻烦,适用于一些不需要经常更新的展示型网站。而动态......