【错误记录】FFmpeg 推流报错 ( FLV does not support sample rate 8000, choose from (44100, 22050, 11025) )

news/2025/2/12 17:41:35/

文章目录

  • 一、报错信息
  • 二、解决方案





一、报错信息



在 Android 平台中 , 先使用 MediaRecorder 将从 麦克风 采集到的 音频压缩到文件中 ,

使用 交叉编译的 FFmpeg 可执行程序 , 执行 文件 推流命令 ,

./ffmpeg -re -i 20220331_152049.m4a -f flv rtmp://192.168.1.17:8088/audio

提示如下报错信息 :

walleye:/data/data/cn.zkhw.client/files # ./ffmpeg -re -i 20220331_152049.m4a -f flv rtmp://192.168.1.17:8088/audio
ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developersbuilt with gcc 4.8 (GCC)configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=libavutil      55. 17.103 / 55. 17.103libavcodec     57. 24.102 / 57. 24.102libavformat    57. 25.100 / 57. 25.100libavdevice    57.  0.101 / 57.  0.101libavfilter     6. 31.100 /  6. 31.100libswscale      4.  0.100 /  4.  0.100libswresample   2.  0.101 /  2.  0.101libpostproc    54.  0.100 / 54.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '20220331_152049.m4a':Metadata:major_brand     : mp42minor_version   : 0compatible_brands: isommp42creation_time   : 2022-03-31 07:20:59com.android.version: 9Duration: 00:00:09.86, start: 0.000000, bitrate: 14 kb/sStream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 12 kb/s (default)Metadata:creation_time   : 2022-03-31 07:20:59handler_name    : SoundHandle
[flv @ 0xe9e24600] FLV does not support sample rate 8000, choose from (44100, 22050, 11025)
[flv @ 0xe9e24600] Audio codec mp3 not compatible with flv
Output #0, flv, to 'rtmp://192.168.1.17:8088/audio':Metadata:major_brand     : mp42minor_version   : 0compatible_brands: isommp42com.android.version: 9encoder         : Lavf57.25.100Stream #0:0(eng): Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 8000 Hz, mono, fltp (default)Metadata:creation_time   : 2022-03-31 07:20:59handler_name    : SoundHandleencoder         : Lavc57.24.102 libmp3lame
Stream mapping:Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Could not write header for output file #0 (incorrect codec parameters ?): Function not implemented
1|walleye:/data/data/cn.zkhw.client/files #
1|walleye:/data/data/cn.zkhw.client/files #
1|walleye:/data/data/cn.zkhw.client/files #
1|walleye:/data/data/cn.zkhw.client/files #
1|walleye:/data/data/cn.zkhw.client/files #

在这里插入图片描述





二、解决方案



MediaRecorder 录下的音频 , 默认采样率为 8000 Hz , FFmpeg 推流不支持该采样率 ;

FFmpeg 推流只支持 44100, 22050, 11025 三种采样率 ;

这里设置 MediaRecorder 的采样率为 11025 Hz 即可 ;

mMediaRecorder.setAudioSamplingRate(11025);

注意要在调用 prepare() 方法之前设置采样率 , 否则无效 ;


http://www.ppmy.cn/news/167634.html

相关文章

Windbg 2进程线程结构分析

目录 任务进程资源进程空间EPROCESS结构PEB内核模式和用户模式线程ETHREADTEB WOW进程注册表重定向注册表反射文件系统重定向 创建进程最小进程和Pico进程最小进程 任务管理器 任务 一个进程或者一个线程叫任务 进程资源 虚拟地址空间全局唯一的进程ID可执行映像一个或多个线…

我在 VSAN 数据存储中创建了一个文件夹,如何删除它呢?

原文:http://www.yellow-bricks.com/2013/09/27/created-folder-vsan-datastore-delete 注明:本文内容基于 VMware VSAN beta 版本撰写,请访问http://www.vmware.com/products/virtual-san/获得有关正式版本的更新信息。 我使用 vSphere Web …

第五章 自己动手写区块链之交易中继

文章目录 概览交易池广播未决交易有效性验证记账更新交易池体验启动两个节点(建议在两个命令行终端下)查看节点钱包地址挖矿查看未消费交易outputs查看节点自己拥有的未消费outputs发起交易节点1挖矿并记账查看未决交易池查看节点2的未决交易outputs 小结 概览 上一章节中&…

UUID

UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被 开源软件基金会 (Open Software Foundation, OSF) 的组织应用在 分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。 中文名 通用唯一…

解决kubernetesPod启动提示,FailedCreatePodSandBox

新装Kubernetes,创建一个新Pod,启动Pod遇到CreatePodSandbox或RunPodSandbox异常。查看日志 # journalctl --since 15:00:00 -u kubelet RunPodSandbox from runtime service failed: rpc error: code Unknown desc failed pulling image "gcr.i…

“errcode”:40029,“errmsg”:“invalid code”踩坑

微信:公众号、小程序、服务号 原微信开发文档 添加链接描述 目前接触了公众号的相关事件,有以下几点个人总结: 首先了解功能的流程 微信客户端------腾讯服务器-----web端,大致流程。 1**.微信网页授权** 授权回调域名–是域名比如…

将项目提交到码云时,异常: remote: [31mIncorrect username or password ( access token )[0m

Q:Git提交时,给出提示Incorrect username or password ( access token ) K: 此处是用户名或者密码有误,建议解决方法两种。具体看哪一种可行,可试。 第一种,电脑管理器内进行修改; [控制面板…

Git 冲突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed?...

解决方案有三种: 第一种:(强烈不推荐,要被骂)无视,直接commit自己的代码。 git commit -m "your msg" 第二种:stash(强烈推荐方式) stash翻译为“隐藏”,如下操作: git stash git pull git stash pop 然后diff一下文件,看看自动合并的情况,并作出需…