bake@kreis ~> curl -s "http://api.twitch.tv/api/channels/rocketbeanstv/access_token?on_site=1" | jq '{token,sig}'
{
  "token": "{\"user_id\":null,\"channel\":\"rocketbeanstv\",\"expires\":1426108038,\"chansub\":{\"view_until\":1924905600,\"restricted_bitrates\":[]},\"private\":{\"allowed_to_view\":true},\"privileged\":false,\"source_restricted\":false}",
  "sig": "28a2c2c0c2f65276544dd08bf618d609a16c86c4"
}

Damit kommt man an die M3U:

http://usher.justin.tv/api/channel/hls/rocketbeanstv.m3u8?token={"user_id":null,"channel":"rocketbeanstv","expires":1426108167,"chansub":{"view_until":1924905600,"restricted_bitrates":[]},"private":{"allowed_to_view":true},"privileged":false,"source_restricted":false}&sig=28a2c2c0c2f65276544dd08bf618d609a16c86c4

Fish

function twitch
	set -l channel (curl -s "http://api.twitch.tv/api/channels/$argv[1]")
	set -l access (curl -s "http://api.twitch.tv/api/channels/$argv[1]/access_token")
 
	set -l name (echo $channel | jq -r '.display_name')
	set -l title (echo $channel | jq -r '.status')
	set -l sig (echo $access | jq -r '.sig')
	set -l token (echo $access | jq -r '.token')
 
	mpv "http://usher.justin.tv/api/channel/hls/$argv[1].m3u8?token=$token&sig=$sig" --title "$name - $title"
end
bake@kreis ~> mpv (twitch rocketbeanstv)
Playing ...

TL;DR Der Twitch-Player ist doof. Er verlangt Flash. HLS funktioniert nur in Safari. jq ist toll.