gpt4 book ai didi

c - 如何在 ffmpeg 中获取音频 AVStream 的字符串表示形式?

转载 作者:太空宇宙 更新时间:2023-11-04 03:33:53 25 4
gpt4 key购买 nike

我正在使用 ffmpeg。考虑以下代码:

for(i=0; i<pFormatCtx->nb_streams; i++) {
if (pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO) {
//how do I get the language of the stream?
}
}

我发现libavformat ( avlanguage file ) 中有一个LangEntry 结构,还有一个包含语言及其代码的表,看来这正是我需要的.但我不知道如何使用它。我找不到任何关于它的用法的例子。在 AVStreamAVCodecContext 中都没有对 LangEntry 的引用。

最佳答案

LangEntry 与您检测语言的目标无关。
其实LangEntry表就是用List of ISO 639-2 codes做的

语言代码被编码为元数据,所以你应该尝试如下来识别语言

AVDictionaryEntry *lang;  
for(i=0; i<pFormatCtx->nb_streams; i++)
{
if (pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO)
{
lang = av_dict_get(pFormatCtx->streams[i]->metadata, "language", NULL,0);
// Check lang->value, it should give 3-letter word matching to one of the LangEntry Table
}
}

关于c - 如何在 ffmpeg 中获取音频 AVStream 的字符串表示形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34070552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com