A ferramenta ffmpeg pode fazer os dois tipos de análise usando plug-ins internos ( silencedetect e < href="http://www.ffmpeg.org/ffmpeg-filters.html#blackdetect"> blackdetect ) é executado no Linux (e em muitos outros sistemas operacionais), aqui estão alguns exemplos de você quer, em ambos os exemplos está procurando 100ms pretos ou 100ms silêncios, você pode combinar as duas saídas para ter todas as vezes onde um silêncio ou tela preta aparece:
ffmpeg -i input.mp4 -af silencedetect=silencedetect=n=-50dB:d=0.1 -f null -
ffmpeg -i input.mp4 -vf blackdetect=d=0.1:pix_th=.1 -f rawvideo -y /dev/null