Eaglesong is a fast replay parser for Dota2, written in .NET
You can use Eaglesong by referencing the dll and get the list of messages:
Dictionary<ParserPhase, LinkedList<object>> messages = Eaglesong.DemParser.Read("path-to-replay.dem");
Note that the messages are split by "phase": Prologue, Match and Epilogue
#####V0.2
- 1 hour match, 58,923 messages: 00m 26s 836ms
The protobuf data used is from skadistats's smoke, which in turn is from SteamKitRE.
Big thanks to the guys at skadistats for their helpful guide on the makeup of a Dota2 replay!
Big thanks to the guys at dotabuff for the source code for their parsers sange and yasha.
Eaglesong requires the following libraries: