Am încercat să țin 2 niveluri adânc.
Pot conducta cu succes:
- ffmpeg | grep
- ffmpeg | sed
Nu pot țeapă
- ffmpeg | grep | sed
- ffmpeg | sed | grep
Nu înțeleg, ffmpeg se limitează la o singură țeavă în lanț?
Acest cod nu are IEȘIRE cu 2 conducte și fără erori:
ffmpeg -i "https://17563.live.streamtheworld.com/WETAFM.mp3?nocache=Ag6q8pw2" -af silencedetect=n=-10dB:d=0.5 -f null - 2>&1 | grep silence_duration | sed "s/.*durata_tăcerii: \(.*\).*/\1/"
Rezultat așteptat:
2.06442
0.719252
0.594036
0.562698
0.500295
Acest cod are ieșirea corectă cu 1 conductă:
ffmpeg -i "https://17563.live.streamtheworld.com/WETAFM.mp3?nocache=Ag6q8pw2" -af silencedetect=n=-10dB:d=0.5 -f null - 2>&1 | grep silence_duration
Ieșire:
[silencedetect @ 0000018027f9bd00] silence_end: 2.06442 | durata_tăcerii: 2.06442
[silencedetect @ 0000018027f9bd00] silence_end: 3.45971 | durata_tăcerii: 0,719252
[silencedetect @ 0000018027f9bd00] silence_end: 7.04399 | durata_tăcerii: 0,594036
[silencedetect @ 0000018027f9bd00] silence_end: 7.81501 | durata_tăcerii: 0,562698
[silencedetect @ 0000018027f9bd00] silence_end: 9.05535 | durata_tăcerii: 0,500295
Acest cod are ieșirea corectă cu 1 conductă:
ffmpeg -i "https://17563.live.streamtheworld.com/WETAFM.mp3?nocache=Ag6q8pw2" -af silencedetect=n=-10dB:d=0.5 -f null - 2>&1 | sed "s/.*durata_tăcerii: \(.*\).*/\1/"
Ieșire:
[silencedetect @ 000001a48277b980] silence_start: 0
2,06442
[silencedetect @ 000001a48277b980] silence_start: 2.74045
0,719252
[silencedetect @ 000001a48277b980] silence_start: 6.44995
0,594036
[silencedetect @ 000001a48277b980] silence_start: 7.25231
0,562698
[silencedetect @ 000001a48277b980] silence_start: 8.55506
0,500295