2

我目前正在使用android box 上的命令行版本的 FFMPEG测试来自网络摄像头的音频和视频流。我在访问网络摄像头麦克风时遇到问题使用 Ubuntu 作为参考,确定可用录音设备的正确命令是 arecord -L。不幸的是, arecord -L在 Android 机器上不起作用 当前用于访问网络摄像头麦克风的 命令选项alsa是ffmpeg -f alsa -alsa_device_name..而之前的oss选项也不起作用,即ffmpeg -f -oss..可以也不行。/dev/snd中列出的音频设备





将网络摄像头的麦克风部分显示为pcmC3D0ccontrolC3。我知道这是因为如果我拔下网络摄像头,这些值就会从目录列表中消失。

有没有人尝试在 android 盒子上使用 ffmpeg 成功访问网络摄像头的麦克风部分?
您如何制定访问网络摄像头麦克风的命令的正确格式。

请注意,我可以使用 ffmpeg 在我的 Ubuntu PC 上访问音频和视频,因此我知道这两个设备都可以工作

4

1 回答 1

2

我终于弄清楚我做错了什么。问题在于我构建的 FFMpeg

要使用网络摄像头的摄像头或麦克风部分,需要使用 FFMPEG 中的适当格式调用设备。摄像头部分由video4linux2控制,而网络摄像头的麦克风部分由alsa控制。

我应该检查并确保我的 FFMPEG 版本具有两种格式 - alsavideo4linux在我的 FFMPEG 版本中可用。

要使用的命令是./ffmpeg -formats输出将在输出列表中的某处显示为DE alsa for sound,这意味着alsa可用于解码和编码。同样对于视频部分,D video4linux - 这意味着video4linux可用于解码来自网络摄像头的摄像头部分的视频。

. 因为alsa不可用,所以命令./ffmpeg -f alsa... 总是给出语法错误

我想教训是检查你的 ffmpeg 构建的所有你需要的特性,以确保它们在你尝试使用它之前就在那里。

“谢谢”所有看过这个问题的人!

于 2012-08-22T22:57:21.033 回答