api - ffmpeg,Audiostream:如何使用 API 获取它的类型(fourcc)?
问题描述
这似乎是一个太简单的问题,但我没有成功:
我在解码流和访问数据方面没有问题。但我还需要比特率和流的类型。
我通过 AVCodecContext 的成员 bit_rate 和 codec_id 获得的比特率和编解码器。
但我不需要使用的编解码器,而是流类型(例如编解码器 AV_CODEC_ID_MP3 用于 mp1、mp2 和 mp3)。
我尝试了 AVStream.id,但它始终为 0。
看起来我把事情搞混了,但在哪里?
解决方案
AVStream->codecpar->codec_type
将具有媒体类型(视频、音频、字幕..),并且如果输入记录了该数据,则将AVStream->codecpar->codec_tag
从输入中读取编解码器字符串。MP3 文件不会,AVI 文件会。
推荐阅读
- excel - VBA Excel - 如果等于,则从多个工作表中删除一行
- java - MQTT:paho 是否存储失败的出站消息
- javascript - 如何在常规 html 文件中使用模块化 js 文件(带有“导出”)?
- php - Xampp 网络连接
- r - 为 RStudio 中的每个参与者创建每个参与者 ID 的列表,其中包含 3 个数据框
- java - 在第一次扫描时使用scanner.nextLine 时,扫描仪会跳到第二次扫描
- javascript - 列出 DFS 中所有可能的循环
- c - 字符串长度未正确显示
- assembly - 如何在 NASM 中为 x86 程序集上的 `ADD r/m16, imm16` 生成匹配 `81 /0 iw` 的输出?
- postgresql - 有没有办法将 csv 视为表来匹配键并将数据导入到 postgres 中的适当行?