You can try this:
ffmpeg -i xx.m3u8 -c copy -bsf:a aac_adtstoasc demo.mp4
Per this forum post, you can also try:
It seems that decoding time stamps are broken. You can try “-fflags +igndts” to regenerate DTS based on PTS:
Or point to the .ts
file directly, ignore the DTS:
ffmpeg -fflags +igndts -i xx.ts -map 0:0 -map 0:2 -c:v copy -c:a copy demo.mp4