开发中常需要确定一个H264文件的帧率信息,在AVFormatContext的视频流stream中记录着两种帧率avg_frame_rate(平均帧率),r_frame_rate(基本帧率)。

avg_frame_rate: 平均帧率容易理解,就是整个流的平均的帧率。
r_frame_rate:基本帧率,用官方的解释说:这是能够准确表示所有时间戳的最低帧率(它是流中所有帧率的最小公倍数)。注意,这个值只是一个猜测!例如,如果时间基数是1/90000,所有帧大约有3600或1800个计时,那么r_frame_rate将为50/1。

H264文件中的两种帧率是在avformat_find_stream_info()过程中获取并写入的。

具体获取在结构体ifmt_ctx->streams[video_stream_index]中。
ffmpeg 代码实例

 int ret;ret = avformat_open_input(&ifmt_ctx, m_filename, 0, 0);if(ret < 0){LOGE("Cannot open input file:%s.[AV_ERROR]:%s",m_filename,av_err2str_cpp(ret));goto end;}//必须包含这一步骤,否则avg_frame_rate将为{0,0}ret = avformat_find_stream_info(ifmt_ctx,NULL);if(ret < 0){LOGE("Cannot file stream :%s.[AV_ERROR]:%s",m_filename,av_err2str_cpp(ret));goto end;}ret = av_find_best_stream(ifmt_ctx, AVMEDIA_TYPE_VIDEO, -1, -1, nullptr, 0);if(ret < 0){LOGE("Cannot find a video stream in the input file");goto end;}video_stream_index = ret;AVStream* stream = ifmt_ctx->streams[video_stream_index];int fps1 = av_q2d(stream ->avg_frame_rate); //av_q2d 函数就是将AVRational.num/AVRational.den;int fps2 = av_q2d(stream ->r_frame_rate);

FFmpeg获取H264文件的帧率相关推荐

  1. 使用FFMpeg 获取MP3文件中的信息和图片

    我们在播放音频文件时,如MP3格式的音频文件,一些播放器会显示音乐名称.专辑名称.歌手.音乐图像等信息,如下图片所示: 下面介绍使用FFMpeg来获取这些信息. 使用函数avformat_open_i ...

  2. ffmpeg获取h264视频数据

    源资源来自教程,来自慕课网 李超,本人仅仅是添加注释 #include <stdio.h> #include <libavutil/log.h> #include <li ...

  3. ffmpeg h264文件转mp4

    h264文件不能直接在网页上播放,比如在浏览器上输入http://10.0.0.2/2022-01-08T22-32-58.h264,变成了下载. 若在浏览器上输入http://10.0.0.2/20 ...

  4. ffmpeg获取视频时长和分辨率

    文章目录 ffmpeg获取视频文件时长和分辨率 获取视频时长 获取视频分辨率 ffmpeg获取视频文件时长和分辨率 获取视频时长 import os import subprocess# video_ ...

  5. ffmpeg获取rtsp h265_用FFmpeg将rtsp视频流保存成H264、h265文件

    ffmpeg:FFmpeg的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward,是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算 ...

  6. FFMPEG之RTSP获取H264/H265裸流保存文件

    参考:https://blog.csdn.net/weixin_42432281/article/details/88348124 1 目标背景 本文的目的是实现linux嵌入式端ffmpeg读取网络 ...

  7. FFMPEG保存H264流到AVI文件中形成录像

    研究了使用FFMPEG保存H264流到AVI文件中形成录像的方法,下面是大致流程. 使用的FFMPEG版本   ffmpeg-2.6.9.然后我静态编译后使用的静态库,至于怎么静态编译看我之前的文章. ...

  8. linux下使用ffmpeg采集摄像头数据并编码成h264文件

    本文讲述如何在linux下,使用ffmpeg采集视频数据,并编码成h264文件. 打算分成3部分讲解: 需要具备的软硬件环境 ffmpeg命令采集摄像头数据并编码成h264文件 ffmpeg代码采集摄 ...

  9. H264文件解析出nalu数据,送给ffmpeg解码,opencv显示

    本博客主要是H264的视频码流有ffmpeg 解码后,有opencv先,这里贴出全部代码,你只需自己建个工程,配置一下ffmpeg库和opencv3.0库就好了.(这里采用自己打开h264文件,解析出 ...

  10. RTSP再学习 -- 利用FFmpeg 将 rtsp 获取H264裸流并保存到文件中

    如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78214267 既然已经可以通过 RTSP 获取h264 裸流了.那么通过 F ...

最新文章

  1. 使用 AngularJS NodeJS 实现基于token 的认证应用(转)
  2. 管理员账户遇到“操作需要管理员权限”解决方法
  3. 【SICP练习】101 练习2.77-2.78
  4. 普通人为什么要学习Python
  5. Redis 最大客户端连接数,你了解吗?
  6. mybatis中gt;=和lt;=的实现方式
  7. C51单片机引脚名词英文全称
  8. 无线连接网络找不到计算机组,Win10电脑找不到自家Wifi无线网络解决方法 可能是无线信道问题...
  9. Docker:架构分解
  10. zz很有用的生活小窍门
  11. Hadoop1.0单点安装-Windows
  12. python实现金字塔图案
  13. 使用ffmpeg将裸码文件转成wav文件
  14. centos8 安装mysql8(二)
  15. 大二下小结与暑假展望
  16. 当我们谈BIM的时候,我们在谈什么?
  17. 检查手机端还是非手机端,做m站和pc站的适配
  18. 分布式服务架构下的身份认证
  19. 大赛导师教程:冷风——商战王参考图片法,深扒光感氛围展现
  20. 本特利涡流式趋近式proximity位移传感器

热门文章

  1. python下载pip包_python之路-离线pip下载Python包
  2. 制作一个PHP互动网页
  3. 自动驾驶仿真:VTD自定义超声波雷达FOV
  4. 【cc2541历程】APP更改蓝牙设备名称
  5. acs880变频器静态辨识_ACS880变频器PID控制参数设置 -
  6. Python 打包的EXE文件反编译2|pyc文件自动反编译
  7. 计算机中丢失了gdiplus.dll,解决 “计算机中丢失gdiplus.dll”
  8. kali安卓手机木马远控
  9. 博图导入的程序用step7读出_博图软件TIA STEP7 V16 上载程序方法
  10. java使用itext实现把数据库中查到的数据转换成pdf