On Fri, 9 Jul 2021 10:10:11 +0100, Christian Ebert <bcc@phloxic.productions> wrote:
>But for writing the log into a file look into ffmpeg's -report option, that's >what it's for. Thanks! I changed the command like this: FFREPORT=file=ffreport.log:level=32 ffmpeg -hide_banner -i input.mp4 -vf "freezedetect=n=0.01:d=5" -map 0:v:0 -f null - ; grep "lavfi.freezedetect.freeze_start: " ffreport.log Now if I call with bluearrow as input file then grep finds the string and exits with $? = 0 But when there is no freeze then grep does not find the string and exits with $? = 1. So this now seems to work even if it is a bit complex. Another issue: I noted that ffmpeg reads the entire disk file to find the freeze, that is not what I want... It should only read a short part of the video, say 5 seconds, before finishing, because I want to detect if there is a freeze right now. But this could be fixed by using the -t argument: FFREPORT=file=ffreport.log:level=32 ffmpeg -hide_banner -t 15 -i bluearrow.mp4 -vf "freezedetect=n=0.01:d=5" -map 0:v:0 -f null - ; grep "lavfi.freezedetect.freeze_start: " ffreport.log Note that the -t parameter must be longer than the freezedetect duration, otherwise it will not detect the freeze. Final problem is how to run ffmpeg with an input that is a live stream currently playing on Youtube? I need to detect (in a script) if the stream has frozen before I start the download, so my plan is to run the detection and then start the download only if it reports that the stream is not frozen. -- Bo Berglund Developer in Sweden _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".