Someone on Github asked for Steam Broadcast support in livestreamer. Steam Broadcast is a neat
new feature of the Steam client that encodes and broadcasts whatever you’re doing to everyone,
your steam friends, or only people you invite. It’s viewable using the HTML5
<video> element in
Chrome and through the Steam Client, but not yet available to 3rd party viewers. The ticket in
It just got introduced this morning, and it's be nice to see it implemented. http://steamcommunity.com/?subsection=broadcasts
So let’s take a look at how the video is playing in the browser. For now, it appears to require a logged in user to work.
Note: Examples are all for this live stream.
First, a request is made to get the video stream. Using the steam community ID of the user streaming
the video (in this case
76561198067563695) and a hardcoded
broadcastid of 0, we get:
Then you take the
url value in the returned JSON to find the manifest. Example:
user_id is the logged-in user’s steam community ID. It’ll be a long number similar to
These videos can be rewound, and appear to be in 3 second chunks (the duration field, divided by the timescale field). So for every 3 seconds, you make a request to
… to get the next/previous chunk of video.
- It looks like this has been setup to allow multiple streams per user, but currently
m_ulBroadcastIDis hardcoded to 0, so any url that has a broadcastid in it should just be 0.
- All of the IDs used in the broadcast system are steam community ids (big long numbers like 76561198067563695) and not the older steamids.
- There is only one codec supported, video/mp4;codecs=”avc1.4d4032,mp4a.40.2