2016-12-26 7 views
0

저는 nginx를 통해 거의 RTMP 스트림을 스트리밍하지 않고 몇 번째 스트림이 가장 높은 볼륨인지 확인하고 싶습니다. 특히 이러한 스트림은 말하기 머리이며, 일반적으로 한 번에 하나만 말하면 내가 어느 하나를 찾고 있다고 가정합니다. nginx는 hls (Apple http 라이브 스트리밍)를 출력 할 수 있기 때문에 ffmpeg를 사용하여 각 스트림의 마지막 세그먼트를 몇 초마다 확인하기로 결정했습니다. 예 :비디오 볼륨 감지

는 FFmpeg MP3 -i /my/path/camera67/123.ts -af "volumedetect"-f 널 (null)을/dev/null 어떤 이유

-f max_volume가 항상 0 (max_volume : 0.0 dB) 및 mean_volume은 볼륨과 관련하여 의미가 없습니다.

  1. 항상 0 인 이유는 무엇입니까?
  2. mean_volume을 이해하는 데 유용한 방법이 있습니까?
  3. 음량을 줄 수있는 다른 도구 (예 : 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 channels, fltp) : 지정되지 않은 샘플 속도 'analyzeuration'및 'probesize'옵션의 값을 늘리는 것을 고려하십시오. [Parsed_amovie_0 @ 0x130bcc0] '-1'이있는 스트림이 발견되었습니다. [lavfi @ 0x130abc0] args '/my/path/camera67/123.ts'로 필터 'amovie'를 초기화하는 동안 오류가 발생했습니다. amovie =/my/path/camera67/123.ts, volumedetect : 잘못된 인수

어떤 생각?

덕분에, T.

+0

0dB가 최대 볼륨입니다. 음수 값은 더 조용하고 음의 무한대로 내려갑니다. 음압이 아닌 신호 레벨을 측정하고 있습니다. – Brad

답변

0

은 그래서 무슨 일이 있었는지입니다. MP3를 지원하지 않는 HLS 세그먼트로 입력을 코드 변환 한 nginx로 MP3를 스트리밍했습니다. RTMP 출력을 듣는 것은 오디오가 잘 작동한다고 생각하게 만들었지 만, HLS 출력을 들었을 때 나는 들었습니다. 원본 스트림을 AAC로 변경 한 다음 HLS 스트림에서 올바른 결과를 얻었으며 즉시 음악과 평균 및 최대 볼륨 간의 상관 관계를 확인했습니다.

감사합니다.