如何使用配置文件FF_PROFILE_AAC_LOW将音频编码为AAC

阿里扬德罗

我尝试FF_PROFILE_AAC_LOW通过以下设置将音频编码为带有配置文件AAC

oc_cxt->profile = FF_PROFILE_AAC_LOW;

同样从的输出中av_dump_format,我得到了

Metadata:
encoder         : Lavf57.36.100
Stream #0:0: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s

但是输出是不同的。一切正常,除了输出为AAC,不是AAC (LC)通过使用ffprobe检测,输出信息为

$ ffprobe o.m4a
...
Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 195 kb/s (default)
...

AAC (LC) 是我需要的理想结果。

但是从命令行,ffmpeg可以生成AAC (LC)输出。以下是一个小测试。

$ ffmpeg -f lavfi -i aevalsrc="sin(440*2*PI*t):d=5" aevalsrc.m4a
$ ffprobe aevalsrc.m4a
...
Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
...

如何选择FF_PROFILE_LOW获取AAC (LC)输出?

阿里扬德罗

这是由新的ffmpeg API引起的,我没有注意到。

多余的数据需要复制回AVStream->codecpar->extradataafter avcodec_open2之后,ffprobe可以检测到输出是我需要的格式AAC (LC)

以下是ffmpeg.c的代码段

if (!ost->st->codecpar->extradata && avctx->extradata) {
    ost->st->codecpar->extradata = av_malloc(avctx->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
    if (!ost->st->codecpar->extradata) {
        av_log(NULL, AV_LOG_ERROR, "Could not allocate extradata buffer to copy parser data.\n");
        exit_program(1);
    }    
    ost->st->codecpar->extradata_size = avctx->extradata_size;
    memcpy(ost->st->codecpar->extradata, avctx->extradata, avctx->extradata_size);
}

希望对使用最新版本的ffmpeg(3.x)的用户有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用配置文件FF_PROFILE_AAC_LOW将音频编码为AAC

来自分类Dev

如何使用FFmpeg(C / C ++)将原始pcm_f32le音频编码为AAC编码的音频?

来自分类Dev

将音频编码为AAC会产生较慢的音频-Android

来自分类Dev

ffmpeg:如何将视频重新编码为H.264视频和AAC音频?

来自分类Dev

如何使用libavcodec在AAC-LC,AAC-HE-V1,AAC-HE-V2中编码音频?

来自分类Dev

如何将AAC(.m4a)音频文件解码为WAV?

来自分类Dev

GStreamer 将音频转码为 AAC

来自分类Dev

如何将巨大的FLAC文件编码为MP3和其他文件(如AAC)?

来自分类Dev

为什么使用 libfdk_aac 编码的 ffmpeg 会在音频文件的开头减少 25 毫秒?

来自分类Dev

如何使用CoreAudio的AudioConverter实时编码AAC?

来自分类Dev

如何使用ffmpeg在不重新编码的情况下将元数据添加到AAC文件中?

来自分类Dev

如何从URL录制AAC音频?

来自分类Dev

我如何解码mp3并使用ezstream将其编码为aac

来自分类Dev

如何在 .mpg 容器中将 PCM 编码为 AAC 格式?

来自分类Dev

如何将音频文件(aac或mp3)添加到mp4视频文件?

来自分类Dev

如何将音频文件(aac或mp3)添加到mp4视频文件?

来自分类Dev

ios - 将视频的音频转换为 AAC

来自分类Dev

在将字节附加到AAC时播放AAC时出现错误“文件正在使用”

来自分类Dev

avconv不支持mp4 / h264 / aac的设置配置文件

来自分类Dev

avconv不支持mp4 / h264 / aac的设置配置文件

来自分类Dev

使用Node JS将AAC文件写入光盘

来自分类Dev

使用视频的ffmpeg重新编码并将音频从eac3更改为aac后,音频不同步

来自分类Dev

如何使用ffmpeg延迟2个AAC文件的连接?

来自分类Dev

如何将Spring配置文件设置为包?

来自分类Dev

如何使用Logstash配置文件将Logstash中的字段设置为“ not_analyzed”

来自分类Dev

如何在 Ubuntu 下制作 xHE-AAC 音频文件?

来自分类Dev

使用FFMPEG将可搜索的AAC音频流写入MP4文件

来自分类Dev

使用 ffmpeg 将 DTS 转换为 AAC 会将语音音频向右移动

来自分类Dev

如何将带有字幕的mkv文件转换为mp4,以及如何将DTS音频更改为AAC或AC3?

Related 相关文章

  1. 1

    如何使用配置文件FF_PROFILE_AAC_LOW将音频编码为AAC

  2. 2

    如何使用FFmpeg(C / C ++)将原始pcm_f32le音频编码为AAC编码的音频?

  3. 3

    将音频编码为AAC会产生较慢的音频-Android

  4. 4

    ffmpeg:如何将视频重新编码为H.264视频和AAC音频?

  5. 5

    如何使用libavcodec在AAC-LC,AAC-HE-V1,AAC-HE-V2中编码音频?

  6. 6

    如何将AAC(.m4a)音频文件解码为WAV?

  7. 7

    GStreamer 将音频转码为 AAC

  8. 8

    如何将巨大的FLAC文件编码为MP3和其他文件(如AAC)?

  9. 9

    为什么使用 libfdk_aac 编码的 ffmpeg 会在音频文件的开头减少 25 毫秒?

  10. 10

    如何使用CoreAudio的AudioConverter实时编码AAC?

  11. 11

    如何使用ffmpeg在不重新编码的情况下将元数据添加到AAC文件中?

  12. 12

    如何从URL录制AAC音频?

  13. 13

    我如何解码mp3并使用ezstream将其编码为aac

  14. 14

    如何在 .mpg 容器中将 PCM 编码为 AAC 格式?

  15. 15

    如何将音频文件(aac或mp3)添加到mp4视频文件?

  16. 16

    如何将音频文件(aac或mp3)添加到mp4视频文件?

  17. 17

    ios - 将视频的音频转换为 AAC

  18. 18

    在将字节附加到AAC时播放AAC时出现错误“文件正在使用”

  19. 19

    avconv不支持mp4 / h264 / aac的设置配置文件

  20. 20

    avconv不支持mp4 / h264 / aac的设置配置文件

  21. 21

    使用Node JS将AAC文件写入光盘

  22. 22

    使用视频的ffmpeg重新编码并将音频从eac3更改为aac后,音频不同步

  23. 23

    如何使用ffmpeg延迟2个AAC文件的连接?

  24. 24

    如何将Spring配置文件设置为包?

  25. 25

    如何使用Logstash配置文件将Logstash中的字段设置为“ not_analyzed”

  26. 26

    如何在 Ubuntu 下制作 xHE-AAC 音频文件?

  27. 27

    使用FFMPEG将可搜索的AAC音频流写入MP4文件

  28. 28

    使用 ffmpeg 将 DTS 转换为 AAC 会将语音音频向右移动

  29. 29

    如何将带有字幕的mkv文件转换为mp4,以及如何将DTS音频更改为AAC或AC3?

热门标签

归档