You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端FFmpegKit Flutter音频推流失败及android_camera音频支持咨询

问题描述
  • iOS端使用ffmpeg_kit_flutter向RTSP服务器推流正常
  • Android端无法运行,原使用的适配iOS的命令为:
ffmpeg -f avfoundation -i ":0" -acodec aac -f rtsp -rtsp_transport tcp "$Url"

执行ffmpeg -devices后确认Android不支持avfoundation,仅支持android_camera设备,核心疑问:android_camera是否支持音频采集?

ffmpeg -devices执行响应
I/flutter (10620): logs:  libavutil      57. 28.100 / 57. 28.100
I/flutter (10620): logs:  libavcodec     59. 37.100 / 59. 37.100
I/flutter (10620): logs:  libavformat    59. 27.100 / 59. 27.100
I/flutter (10620): logs:  libavdevice    59.  7.100 / 59.  7.100
I/flutter (10620): logs:  libavfilter     8. 44.100 /  8. 44.100
I/flutter (10620): logs:  libswscale      6.  7.100 /  6.  7.100
I/flutter (10620): logs:  libswresample   4.  7.100 /  4.  7.100
I/flutter (10620): logs:Devices:
I/flutter (10620):  D. = Demuxing supported
I/flutter (10620):  .E = Muxing supported
I/flutter (10620):  --
I/flutter (10620): logs: D  android_camera   
I/flutter (10620): logs: D  lavfi            
I/flutter (10620): logs: DE video4linux2,v4l2
已尝试的Android命令

以下命令均未成功采集音频:

FFmpegKit.execute('-y -f android_camera -i 0:1 -r 30 -c:a aac -f rtsp -rtsp_transport tcp "$Url"');

FFmpegKit.execute('-y -f android_camera -i 0:1 -r 30 -c:a libmp3lame -qscale:a 2 "/storage/emulated/0/Download/androidvideo.mp3"');

FFmpegKit.execute('-y -f android_camera -i 0:0 -r 30 -c:a wavpack -b:a 64k "/storage/emulated/0/Download/androidvideo.wav"');

仅能录制视频但无音频的命令:

FFmpegKit.execute('-video_size hd720 -f android_camera -camera_index 1 -i anything -r 10 -t 00:00:15 "$dir/androidvideo.mp4"');
解决方案

android_camera设备仅支持视频采集,不支持音频,它是专门针对Android摄像头的视频输入组件,无法直接捕获音频信号。

要在Android上实现音视频同步推流,需分别处理视频和音频输入:

  1. 视频部分:继续使用android_camera采集视频流
  2. 音频部分:使用Android对应的音频输入设备(需确认FFmpeg编译时包含该设备支持),通过独立输入源捕获音频,再用FFmpeg的多-i参数合并音视频流后推流。

参考命令示例:

ffmpeg -f android_camera -i 0 -f audio -i default -c:v h264_android -c:a aac -f rtsp -rtsp_transport tcp "$Url"

注意:需根据实际FFmpeg支持的音频设备调整-f audio -i default部分(比如部分环境可能用-f alsa或对应Android音频设备标识),同时确保App已获取录音权限。

内容的提问来源于stack exchange,提问作者Uday

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 01:38:29