我正在通过nginx流几个RTMP流,我想每隔几秒钟检查哪一个流的音量最高。具体来说,这些流都是会说话的头,我想通常只有其中一个在一次说话,而我正在试图找出哪一个。由于nginx可以输出hls (),所以我决定每隔几秒钟使用ffmpeg检查每个流的最后一部分。示例:
-f mp3 -i /my/path/camera67 67/123.ts -af“容量检测”-f null /dev/null
由于某些原因,max_volume总是为零(max_volume: 0.0 dB),而mean_volume对于卷似乎毫无意义。
我也试过:
ffmpeg -f lavfi -i amovie=/my/path/camera67 67/123.ts,容量检测
这次我得到了:
mpegts @ 0x130bf40流1的启动时间未在estimate_timings_from_pts mpegts @ 0x130bf40中设置,无法找到流1的编解码参数( audio : aac (15 / 0x000F),0通道,fltp):未指定的采样率考虑增加“分析”和“probesize”选项的值,Parsed_amovie_0 @ 0x130bcc0没有索引为1的音频流-1找到的lavfi @0x130abc 0错误初始化滤波器'amovie‘使用args /my/path/camera67 67/123.ts’amovie=/my/path/camera67 67/123.ts,请检测无效参数:
有什么想法吗?
谢谢你,T.
发布于 2016-12-27 07:44:57
事情就是这样发生的。我将MP3流到nginx,将输入代码转换为不支持MP3的HLS段。听RTMP输出会让我认为音频工作正常,但是当我听了HLS输出时,我什么也没听到。我将我的原始流改为AAC,然后HLS流给出了正确的输出,我立即看到了音乐与平均和最大音量之间的相关性。
谢谢你们所有人。
https://stackoverflow.com/questions/41333321
复制相似问题