Чистого решения я не знаю (скорее всего его и нет), но что-то близкое можно сообразить при помощи:
ffmpeg.org/ffmpeg-formats.html#segment_002c-stream...
Например:
ffmpeg -i in.mp4 -f segment -segment_format mpegts -segment_time 30 -segment_wrap 2 -segment_list out.m3u8 out%d.t
плохо то, что можно segment_wrap поставить в 1, тогда будет 1 файл, но он каждый раз будет полностью перезаписываться, т.е. не будет скользящего окна.
Можно сделать сегменты очень короткими, но сделать их много, тогда будет какое-то впечатление скользящего окна при проигрывании m3u8 файла.