ffmpeg 视频解码 vformat_find_stream_info() 后获取视频分辨率错误问题

ffmpeg视频提取图像帧,相同帧宽分辨率降低的原因分析 最近因为要做一道题 ,roarCTF的黄金六年,使用了ffmpeg对视频进行帧提取。 首先使用了如下命令 ffmpeg -i 6.mp4 extracted\foo-%03d.jpg 之后提取到的图片十分模糊。尤其是里面的二维码,十分模糊根本无法分析。 怀疑是图片分辨率与视频的帧宽不同导致的,结果看了日志,发现帧宽是一样的。 帧率30fps,分辨率都是960x560。也就是说“理论上”视频... 阅读详情

2018年1月9日,问题记录:

昨天遇到一个问题:就是想获取视频分辨率大小,但遇到的问题是网上流行的代码如下所示,不能显示视频文件正确的宽和高,而用av_dump_format(pFormatCtx, 0,ucfileNmae, 0);函数却能获取其正确分辨率,故特看了ffmpeg源码,发现在源码中能正确输入的成员不是width而是另外一个coded_width,所以将下面代码换掉就行了。

 

       /*208.01.08  错误:这里不能获取视频长宽,却能获得时长*/

        printf("%d * %d\n",pCodecCtx->width, pCodecCtx->height);

 

       /*208.01.09  解决错误: */

        printf("%d * %d\n", pCodecCtx->coded_width,pCodecCtx->coded_height);

ffmpeg av_dump_format 信息分析 编码一个文件, 用av_dump_format 打印出了如下信息, 到底是什么意思呢? Output #0, hls, to 'playlist.m3u8': Stream #0:0: Video: h264, yuv420p(tv, progressive), 640x480 [SAR 4:3 DAR 16:9], q=2-31, 2000 kb/s, 25 fps, 90k tbn Metadata: encoder : Lavc58.134.100 libx2... 阅读详情

相关推荐

用FFmpeg获取视频流+音频流的信息(编码格式、分辨率、帧率、播放时长...)

我们经常需要知道一个媒体文件所包含的媒体流的信息,比如文件格式、播放时长、码率、视音频编码格式,视频分辨率,帧率,音频属性等信息。如何使用FFmpeg API获取这些信息呢?下面我会给出一个完善的类,这个类封装了FFmpeg读取文件信息的相关的API,读者只需要调类的方法就可以获得相关的信息。 这个类能够读取媒体文件的哪些信息呢?假如我们给出一个媒体文件(MP4,AVI,MKV。。。),里面至少...

爱写代码的自由人 5万+

FFmpeg源码分析:avformat_find_stream_info分析码流信息

FFmpeg在调用avformat_open_input()之后,可能码流信息不够完整,可以使用avformat_find_stream_info()获取更多的码流信息。比如获取视频帧率、视频宽高,重新计算最大分析时长,打开解码器解码获取codec数据。

徐福记456 3万+

FFmpeg —— 解决avformat_find_stream_info函数阻塞时间过长问题

问题      当在做一些音频推流工作时,在打开环境上下文后需要查找格式上下文信息(avformat_find_stream_info),但执行该函数的时间过于长了(约5~10秒),可能让人觉得很烦哦。那么我们今天来解决这个问题。        avformat_find_stream_info对于网络串流来说是需要花费时间进行探测一些信息的。所以可能时间较长。   解决      AVFotmatContext对象用probesize、max_analyze_duration两个参数,可以对其进行设置达到

2857

关于FFMPEG踩过的一些坑(ffmpeg:视频无损转码黑屏,视频转码失真,手机拍摄的视频转码角度旋转)

FFMPEG转码优化篇 在解决以上问题之前都需要通过ffmpeg对视频的的编码,属性,以及各种参数有一个大致的了解。 通过命令解析视频获取视频参数 ffprobe -v quiet -print_format json -show_format -show_streams test.mp4 获取的参数格式大致如下: { "streams": [ { ...

鹿林深的博客 1万+

群晖设置公网ipv6方式域名解析访问

群晖、IPV6、域名解析

爬山虎的博客 2万+

Zynq7000混合启动方案:QSPI Flash引导与eMMC ext4文件系统部署实战

本文详细介绍了Zynq7000平台的混合启动方案,结合QSPI Flash引导与eMMC ext4文件系统部署,解决嵌入式Linux系统启动可靠性与大容量存储需求。通过硬件连接配置、分区规划、Petalinux工程配置及实战部署步骤,帮助开发者高效实现系统优化,提升启动速度和文件系统性能。

weixin_29190169的博客 447

FFmpeg源代码简单分析:avformat_find_stream_info()

本文简单分析FFmpeg中一个常用的函数:avformat_find_stream_info()。该函数可以读取一部分视音频数据并且获得一些相关的信息。

雷霄骅(leixiaohua1020)的专栏 7万+

别再折腾框架了!用华为应用市场官方渠道搞定GBOX,安全安装谷歌全家桶(鸿蒙HarmonyOS 3/4实测)

本文详细介绍了如何在鸿蒙系统上通过华为应用市场官方渠道安全安装GBOX,实现谷歌全家桶的无损使用。该方法避免了传统破解方式的安全风险,利用沙箱技术隔离运行环境,确保系统稳定性和数据安全。特别适合鸿蒙HarmonyOS 3/4用户安全使用谷歌生态应用。

weixin_29305313的博客 4777

FFMEPG函数avformat_find_stream_info作用

现象:FFMPEG打开媒体文件并查看媒体文件相关信息流程如下: avformat_open_input; avformat_find_stream_info; av_dump_format; 针对同一个媒体文件,不调用与调用avformat_find_stream_info函数获取的媒体文件相关信息如下: 未调用avformat_find_stream_info信息: 调用avformat_fin

蜗牛,为梦想而生。 2937

高效 DEM 拼接

通过以上步骤的系统实施,能够实现高效、准确的大型地理信息系统 DEM 数据拼接,满足复杂和大规模项目的应用需求。

llhllq2015的博客 1033

SRRC型号核准的模块豁免规则解析——如何利用完整型模块简化设备认证流程

本文详细解析了SRRC型号核准中模块豁免规则的应用,重点介绍了完整型模块的技术定义、豁免条件及实际应用场景。通过合理利用完整型模块,企业可显著简化设备认证流程,缩短上市周期并降低成本。文章还提供了模块选型指南和常见问题解决方案,帮助工程师高效应对SRRC认证挑战。

weixin_29306011的博客 933

ffmpeg打开视频解码器失败:Could not find codec parameters for stream 0 (Video: h264): unspecified size...

在使用ffmpeg进行拉流分离音视频数据再解码播放操作的时候; 有时候经常会报错: Could not find codec parameters for stream 0 (Video: h264): unspecified size ffmpeg默认使用udp方式传输,在使用:avformat_find_stream_info 会出现返回 codec_id ==AV_CODEC_ID_N...

weixin_34187822的博客 2万+

使用 ChatGPT Store 里的工具给 ABAP 制作 Logo,效果一般

在编程领域中,Domain Specific Language(DSL)是一种特定于某一问题领域的计算机语言,诞生目的就是为了解决该领域特定类型的问题。在 ChatGPT 官网的 GPT Stores,也有很多已经预先配置完毕,专用于某一特定领域的 GPT 工具,OpenAI 将其分类如下。第三个问题是 Logo 的配色,提供蓝白,黑绿和灰黄,以及自定义调色板四种选择。这个 GPT 设计了四个问题,通过一问一答的方式,获得使用者想创建 Logo 的细节。这次的复杂度调成最低的 1,感觉还是有点花里胡哨的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 511

FFmpeg获取视频正确的宽高比

我的视频课程(基础):《(NDK)FFmpeg打造Android万能音频播放器》 我的视频课程(进阶):《(NDK)FFmpeg打造Android视频播放器》 我的视频课程(编码直播推流):《Android视频编码和直播推流》 我的视频课程(C++ OpenGL):《Android C++ OpenGL教程》 说起音视频开发,很多问题不遇到是不知道的。就在昨天,有一朋友问我:我的视频解析出...

ywl5320的专栏 1万+

流量PID控制(开度前馈量计算+辅助PID)

PLC通过伯努利方程近似计算水箱流量(FC)-优快云博客文章浏览阅读1.6k次。本文介绍了如何使用PLC通过伯努利方程近似计算水箱中的液体流量,主要涉及流量计算、模型验证、梯形图编程及STL代码实现。适合自动化领域的学习者参考。单容双容水箱建模(simulink仿真+PLC代码)_水箱系统的建模方法-优快云博客文章浏览阅读2k次。该博客介绍了如何使用伯努利方程建立单容和双容水箱模型,详细阐述了从理论建模到PLC编程的实现过程。

RXXW_Dor的博客 847

风电光伏功率预测竞赛精华总结:技术解析与实战经验

本文深度解析新能源功率预测竞赛的技术要点与实战经验。首先介绍了风电、光伏功率预测对电网调度优化、降低运营风险的重要性,以及多个竞赛的基本概况。在数据特征分析部分,详细探讨了气象预报数据和功率数据的特征,包括时间周期性、数据质量问题及处理方法。针对异常值检测、数据标准化和特征工程(如时间特征、统计聚合特征、风速风向特征和滞后特征)提供了具体的技术实现方案。文章为新能源功率预测提供了实用的技术指导,对相关竞赛和实际应用具有重要参考价值。

算法工程师 206

FFmpeg使用小结

  接下来进入正文:   视频播放器的原理 封装格式 作用:视频码流和音频码流按照一定的格式储存在一个文件汇总   视频编码数据 作用:将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量   音频编码数据 作用:将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量   视频像素数据 作用:保存了屏幕上每一个像素点的像素值 格式:常...

FromNowOnUntilTheEnd 5万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ffmpeg demuxer针对stream info的处理

ffmpeg demuxer针对stream info的处理,我觉得最重要的就是针对audio/video帧的处理,由于audio每一帧都是关键帧,而video的每一帧由于压缩比例的原因,不可能都是关键帧。那么在制作文件的时候,不可避免的会有错误的time stamps /pts/size/pos数据,以video作为例子: video的数据 timestamp是相对于stream 的start

产业互联网&消费类电子 684

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ffmpeg之avformat_find_stream_info函数详细解释

在上面的示例代码中,我们首先打开一个MP4格式的文件,并检查是否成功打开了文件。avformat_find_stream_info()函数是用于获取媒体文件中每个音视频流的详细信息的函数,包括解码器类型、采样率、声道数、码率、关键帧等信息。最后,我们调用avdumpformat函数将获取到的媒体流信息格式化输出到标准输出中,以便观察和调试。:AVFormatContext结构体指针,表示媒体文件的格式上下文,其中包含已经打开的媒体文件的信息和媒体文件中每个音视频流的信息。目前已经不使用,传NULL即可。

ZZU_LGY 2382

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ffmpeg 修改视频大小(有效配置码率)

ffmpeg 修改视频大小(有效配置码率)

sduati的专栏 800

FFmpeg基础:获取音视频的各种编码参数

获取视频编码参数视频编码参数主要包括:帧率、分辨率、编码格式、码率等,对应的概念如下。帧率(Frame Rate)每秒显示帧数(Frames Per Second)。电影的帧率一般是25fps和29.97fps,3D游戏要保持流畅则需要30fps以上的效果。分辨率指视频宽高的像素数值。标准1080P的分辨率为1920×1080,帧率为60fps,也就是真高清。而最常见的网络传播的1080P高清片帧率通常为 23.976 fps。封装格式。

yinshipin007的博客 7691

ffmpeg推流,rtmp推流,出现Connection to tcp://localhost:1935?tcp_nodelay=0 failed: Error number -138问题

Error number -138 是 FFmpeg 在推流过程中出现的错误代码,表示在打开输出 rtmp 流时发生了问题。这个错误可能是由于与推流端建立连接失败、推流端 IP 端口有问题或者 nginx 服务未启动等原因导致的。

weixin_50830110的博客 6298

Could not find codec parameters for stream 0 (Video: h264, none): unspecified size

ffmpeg接收视频流的时候 初始化经常失败导致再次上线需要花很长时间 连接视频初始化失败会报如下错误: Could not find codec parameters for stream 0 (Video: h264, none): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options 结合https://www.jianshu.com/p/37d705..

一休求索 9614

FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe

目录 FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg         一、简述 ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具。 二、命令格式 在命令行中输入如下格式的命令: ffpr...

weixin_34380781的博客 1791
上一篇: Linux 下C编程实现文件夹下文件大小和二级文件夹大小统计
下一篇: 关于ffmpeg解码内存增加解决方案-替换解码代码
Chasing_Chasing
博客等级 码龄10年 233粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值