FFMPEG检测流量(PHP)

时间:2013-09-21 20:18:00

标签: php ffmpeg volume detect

我花了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,版权所有(c)2000-2010 FFmpeg开发人员   建于2012年1月29日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 = 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   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 version 0.6.0-svn ffmpeg-php建于2013年9月21日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 个答案:

答案 0 :(得分:0)

我认为你的ffmpeg太老了,无法支持lavfi。通过执行ffmpeg -formats找出答案。 lavfi应该是名单的一部分?你可以尝试

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

答案 1 :(得分:0)

我解决了它感谢AV501,

我确实将FFMpeg更新为FFmpeg 2

我使用了以下代码:

/usr/local/bin/ffmpeg -f lavfi -i amovie=sample1.aac,volumedetect 

它确实运作良好,