avformat_find_stream_info获取视频流信息

在处理如FLV等格式的文件时,avformat_find_stream_info()函数能探测文件编码宽高等信息,但无法直接获取总时长。通过av_find_best_stream(), av_read_frame和av_seek_frame等函数,可以读取和操作视频帧以计算时长。AVPacket结构体中的pts和dts用于表示时间戳,av_packet_ref和av_packet_unref管理引用计数。av_seek_frame则用于定位到特定时间位置,常结合AVSEEK_FLAG_XXX标志使用。" 102553350,6903139,GitHub 分支操作指南,"['Git', 'GitHub', '版本控制', '开发流程', '分支管理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一些格式信息中可能没有头部信息,比如:FLV 可以用avformat_find_stream_info探测文件信息:编码宽高,但不能获取总时长。
image.png

尝试打印视频时长和流信息:可以发现FLV 里面是没有读到的

image.png

尝试添加 avformat_find_stream_info

  //获取流信息 读取部分视频做探测
    avformat_open_input_result = avformat_find_stream_info(avformat_context, 0);
    if (avformat_open_input_result != 0) {
        NSLog(@"avformat_find_stream_info failed!");
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值