ffmpegでm3u8ファイルから動画をダウンロードできなかった原因はffmpegが古かったせい(追記あり)
ffmpegでツイキャスの録画をダウンロードしようとしたときに、各所で紹介されている以下のコマンドを実行しても警告メッセージが出て、壊れた動画しかダウンロードされなかった。
$ ffmpeg.exe -protocol_whitelist file,http,https,tcp,tls,crypto -i {link to m3u8 file} -c copy output.mkv Non-monotonous DTS in output stream (中略) This may result in incorrect timestamps in the output file.
調べていたら関連しそうなgithubのissueを見つけた。古いffmpegのバグだったらしい。
古い方(バージョン忘れた)から最新版のffmpeg(ver4.3.2)に更新したら、上手くいった。めでたしめでたし。