我正在通過nginx流幾個RTMP流,我想每隔幾秒鐘檢查一下哪個流具有最高音量。 特別是這些流是說話的頭,我認爲通常只有其中一個人在說話,我試圖找到哪一個。 由於nginx可以輸出hls(Apple http實時流),我決定每隔幾秒使用ffmpeg檢查每個流的最後一部分。 實施例:檢測視頻量
的ffmpeg -f MP3 -i /my/path/camera67/123.ts -af 「volumedetect」 -f空的/ dev/null的
出於某種原因,max_volume總是零(max_volume:0.0 dB)和mean_volume對於音量似乎沒有意義。
- 你知道爲什麼它總是零嗎?
- 有沒有一種有用的方法來理解mean_volume?
- 你能想出一個不同的工具可以給我音量(例如mediainfo或ffprobe)嗎?
我也試過:
的ffmpeg -f lavfi -i amovie = /我的/路徑/ camera67/123.ts,volumedetect
這一次我:
[mpegts @ 0x130bf40]流1的開始時間未在estimate_timings_from_pts中設置 [mpegts @ 0x130bf40]找不到流1的編解碼參數(音頻: aac([15] [0] [0] [0]/0x000F),0通道,fltp):未指定的採樣率 考慮增加'分析'和'探測器大小'選項的值 [Parsed_amovie_0 @ 0x130bcc0]發現索引爲'-1'的流 [lavfi @ 0x130abc0]用args'/my/path/camera67/123.ts'初始化過濾器'amovie'出錯'amovie =/my/path/camera67/123.ts,volumedetect:無效參數
任何想法?
感謝, T.
0 dB是最大音量。負值更安靜,下降到負無窮。您正在測量信號電平,而不是聲壓。 – Brad