homebridge/ffmpeg-for-homebridge

Audio capture is not working with armv6 build

kobuki opened this issue · 3 comments

Describe The Bug:
Starting a capture using the released binary, audio recording is not possible using ALSA because of some file location error. Other binaries work fine (like ones from https://johnvansickle.com/ffmpeg/). I wanted to use this one for testing OMX support.

...
ALSA lib conf.c:4081:(snd_config_update_r) Cannot access file /build/workspace/share/alsa/alsa.conf
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM hw:0
[alsa @ 0x3471200] cannot open audio device hw:0 (No such file or directory)
hw:0: Input/output error

To Reproduce:
Start ffmpeg with command line containing eg. -f alsa -i hw:1.

Expected behavior:
Capture starts without issues.

ffmpeg output:

ffmpeg version 4.2.2-d1e8be3 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1+deb9u1) 20170516
  configuration: --pkgconfigdir=/build/workspace/lib/pkgconfig --prefix=/build/workspace --pkg-config-flags=--static --extra-cflags=-I/build/workspace/include --extra-ldflags=-L/build/workspace/lib --extra-libs='-lpthread -lm' --enable-static --disable-debug --disable-shared --disable-ffplay --disable-doc --enable-openssl --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libvpx --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-runtime-cpudetect --enable-libfdk-aac --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-decoder=h264 --enable-network --enable-protocol=tcp --enable-libspeex --enable-demuxer=rtsp --enable-omx-rpi --enable-mmal --enable-indev=alsa --enable-outdev=alsa
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

Screenshots:

Environment:

  • Operating System: Raspbian Buster 10.4
Sunoo commented

I am also experiencing this same problem. The version of FFMPEG I compiled myself to add libfdk-aac support works perfectly, but trying to switch to this version fails with the same error above.

I’m not sure why it’s apparently trying to read from /build/workspace/share/alsa/alsa.conf but I’m sure that’s the cause of the problem.

Sunoo commented

It looks like it should be reading form /usr/share/alsa/alsa.conf . It’d be great if someone could fix this package so I can stop using my self-compiled version.

EDIT: As a workaround, I’ve symlinked /build/workspace/share to /usr/share, and that has gotten things working. This is a fairly gross solution though, and should definitely be fixed ASAP.

oznu commented

New binaries have been published.