FFMPEG Определить объем потоковой передачи (PHP)
Я провел последние 4 дня, пытаясь достичь этого, но безуспешно,
Я пытаюсь определить громкость потоковой ссылки или сохранить аудиофайл, используя FFmpeg, который я пробовал в каждой командной строке.
ffmpeg -f lavfi -i amovie=sample1.aac,volumedetect -f null -y test.txt
Выход
There was a problem! Array (
[0] => FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
[1] => built on Jan 29 2012 17:52:15 with gcc 4.4.5 20110214 (Red Hat 4.4.5-6)
[2] => configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
[3] => libavutil 50.15. 1 / 50.15. 1
[4] => libavcodec 52.72. 2 / 52.72. 2
[5] => libavformat 52.64. 2 / 52.64. 2
[6] => libavdevice 52. 2. 0 / 52. 2. 0
[7] => libavfilter 1.19. 0 / 1.19. 0
[8] => libswscale 0.11. 0 / 0.11. 0
[9] => libpostproc 51. 2. 0 / 51. 2. 0
[10] => Unknown input format: 'lavf'
)
В основном моя проблема сейчас такова:
Unknown input format: 'lavf'
Любая помощь, пожалуйста
Моя версия FFMpeg
[root@bea ~]# ffmpeg -formats | grep lavfi
FFmpeg версия 0.6.5, Copyright (c) 2000-2010 разработчики FFmpeg построены 29 января 2012 г. 17:52:15 с конфигурацией gcc 4.4.5 20110214 (Red Hat 4.4.5-6): --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune= универсальный -fPIC' --enable-avfilter --enable-avfilter-lavf - enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab libavutil 50.15. 1 / 50.15. 1 libavcodec 52.72. 2 / 52,72. 2 libavformat 52.64. 2 / 52,64. 2 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.19. 0 / 1.19. 0 libswscale 0.11. 0 / 0,11. 0 libpostproc 51. 2. 0 / 51. 2.0
Из PHP информации
ffmpeg
ffmpeg-php версия 0.6.0-svn ffmpeg-php построен 21 сентября 2013 г. 15:38:20 включена поддержка ffmpeg-php gd ffmpeg libavcodec версия Lavc52.72.2 ffmpeg libavformat версия Lavf52.64.2 ffmpeg swscaler версия SwS0.11.0
Директива Локальное значение Основное значение ffmpeg.allow_persistent 0 0 ffmpeg.show_warnings 0 0
2 ответа
Я думаю, что ваш ffmpeg слишком стар, чтобы поддерживать lavfi. Узнайте это с помощью ffmpeg -formats. Лавфи должен быть частью списка? Ты можешь попробовать
ffmpeg -formats | grep lavfi
Следующее прекрасно работает в противном случае.
ffmpeg -f lavfi -i amovie=sample1.aac,volumedetect
[aac @ 0x1e26a20] Estimating duration from bitrate, this may be inaccurate
[lavfi @ 0x1e25a60] Estimating duration from bitrate, this may be inaccurate
Input #0, lavfi, from 'amovie=sample1.aac,volumedetect':
Duration: N/A, start: 0.023220, bitrate: 1411 kb/s
Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
At least one output file must be specified
n_samples: 2048
[Parsed_volumedetect_1 @ 0x1e27280] mean_volume: -61.9 dB
[Parsed_volumedetect_1 @ 0x1e27280] max_volume: -49.0 dB
[Parsed_volumedetect_1 @ 0x1e27280] histogram_49db: 14
Я решил это благодаря AV501,
Я обновил FFMpeg до FFmpeg 2
и я использовал код следующим образом:
/usr/local/bin/ffmpeg -f lavfi -i amovie=sample1.aac,volumedetect
И это работало нормально,