首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ffmpeg:如何将AAC音频包转换为ADTS格式

ffmpeg:如何将AAC音频包转换为ADTS格式
EN

Stack Overflow用户
提问于 2017-01-12 12:07:21
回答 1查看 4.5K关注 0票数 1

我正在尝试写一个C程序,从MP4文件中解复用音频,并将解复用后的AVPacket数据写到一个文件中。但生成的转储缺少ADTS标头。任何关于添加ADTS标头的最佳方式的建议。

我看到ffmpeg有一个'adtsenc.c‘文件,它似乎实现了一个ADTS多路复用器:

代码语言:javascript
复制
AVOutputFormat ff_adts_muxer = {
    .name              = "adts",
    .long_name         = NULL_IF_CONFIG_SMALL("ADTS AAC (Advanced Audio Coding)"),
    .mime_type         = "audio/aac",
    .extensions        = "aac,adts",
    .priv_data_size    = sizeof(ADTSContext),
    .audio_codec       = AV_CODEC_ID_AAC,
    .video_codec       = AV_CODEC_ID_NONE,
    .write_header      = adts_write_header,
    .write_packet      = adts_write_packet,
    .write_trailer     = adts_write_trailer,
    .priv_class        = &adts_muxer_class,
    .flags             = AVFMT_NOTIMESTAMPS,
};

谨致问候。

EN

回答 1

Stack Overflow用户

发布于 2017-01-18 00:41:11

更新:我知道命令行解复用器实现了放置ADTS头文件,当你尝试的时候:

代码语言:javascript
复制
ffmpeg -i input.mp4 -acodec copy -vn output.aac

我检查了此进程是否使用adts.c,即ADTS复用器来实现此目的,方法是调用:

代码语言:javascript
复制
adts_write_header()
adts_write_packet()
adts_write_packet()
.....
adts_write_trailer()

我需要弄清楚如何在我的程序中使用它。如果我弄清楚了,我会更新的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41604964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档