当前位置:  开发笔记 > 运维 > 正文

ffmpeg:找不到输出流#0:1的编码器(编解码器amr_nb)

如何解决《ffmpeg:找不到输出流#0:1的编码器(编解码器amr_nb)》经验,为你挑选了1个好方法。

我正在使用此命令进行转换 flv to 3gp

ffmpeg -y -i in.flv -ar 8000 -b:a 12.20k -ac 1 -s 176x144 out.3gp

并且它给出了这个错误

Encoder (codec amr_nb) not found for output stream #0:1

我已经搜索过amr_nbyum但无法找到它.

我在CentOS 7上

ffmpeg -version
ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfaac --enable-nonfree --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil      54. 20.100 / 54. 20.100
libavcodec     56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 11.102 /  5. 11.102
libavresample   2.  1.  0 /  2.  1.  0
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100

我不确定缺少什么.

编辑:

我按照本指南https://s3bubble.com/installing-ffmpeg-on-centos-6-6-in-usrlocalbin/ + alijandro的建议.



1> alijandro..:

系统中安装的ffmpeg不支持编码器amr-nb,编码器是3gp格式的默认编码器.

看看您是否可以在编码器列表中找到

$ ffmpeg -encoders |grep amr_nb

你可以试试

    使用h263/aac作为输出编码器,添加选项 -vcodec h263 -acodec aac

    或者在amr-nb支持下构建ffmpeg

    从这里获取opencore源代码https://sourceforge.net/projects/opencore-amr

    编译源代码并安装到 /path/to/opencore-amr

    得到ffmpeg的来源

    使用选项配置ffmpeg

    $./configure --enable-libopencore-amrnb \
    --enable-libopencore-amrwb \
    --enable-version3 \
    ...
    --extra-cflags="-I/path/to/opencore-amr/include" \
    --extra-ldflags="-L/path/to/opencore-amr/lib"
    ...
    # more configure options
    

    编译并安装ffmpeg,然后你的命令就可以了

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有