Skip to content
Julian Hangstörfer edited this page Jul 13, 2019 · 1 revision

Supported media types:

  • 'stream': Streams which are just a direct url to a channel.
  • 'video': Part of streams or history of a full stream.
  • 'clip': Short video clips that can be created by anyone on a stream.

Supported url formats:

  • 'long'(default): Regular urls.
  • 'embed': Embedded urls.

Creating urls with different media types:

mediaType/formats long embed
stream
video
clip

Special parameters:

  • 'params.start': The number where the video should begin in seconds.
> urlParser.parse('http://www.twitch.tv/rains8');
> urlParser.parse('http://www.twitch.tv/widgets/live_embed_player.swf?channel=rains8');
> urlParser.parse('http://twitch.tv/rains8/chat');
{ 
    mediaType: 'stream',
    channel: 'rains8',
    provider: 'twitch' 
}

> urlParser.parse('http://www.twitch.tv/75292411');
{ 
    mediaType: 'video',
    id: 'v75292411',
    provider: 'twitch' 
}

> urlParser.parse('http://www.twitch.tv/75292411?t=1m30s');
{ 
    mediaType: 'video',
    id: 'v75292411',
    provider: 'twitch',
    params: {
        start: 90
    }
}

> urlParser.parse('https://clips.twitch.tv/SuspiciousImpartialLarkItsBoshyTime');
> urlParser.parse('https://clips.twitch.tv/embed?clip=SuspiciousImpartialLarkItsBoshyTime');
{ 
    mediaType: 'clip',
    id: 'SuspiciousImpartialLarkItsBoshyTime',
    provider: 'twitch' 
}

> urlParser.parse('https://www.twitch.tv/rains8/clip/SuspiciousImpartialLarkItsBoshyTime');
{ 
    mediaType: 'clip',
    channel: 'rains8',
    id: 'SuspiciousImpartialLarkItsBoshyTime',
    provider: 'twitch' 
}

Creation Examples:

> urlParser.create({
    videoInfo: {
      provider: 'twitch',
      channel: 'rains8',
      mediaType: 'stream'
    },
    format: <format>
  })
'long': 'https://twitch.tv/rains8'
'embed': 'https://player.twitch.tv/?channel=rains8'

> urlParser.create({
    videoInfo: {
      provider: 'twitch',
      id: 'v75292411',
      mediaType: 'video'
    },
    format: <format>
  })
'long': 'https://twitch.tv/75292411'
'embed': 'https://player.twitch.tv/?video=v75292411'

> urlParser.create({
    videoInfo: {
      provider: 'twitch',
      id: 'v75292411',
      mediaType: 'video',
      params: {
        start: 90
      }
    },
    format: <format>
  })
'long': 'https://twitch.tv/75292411?t=90s'
'embed': 'https://player.twitch.tv/?video=v75292411?=90s'

> urlParser.create({
    videoInfo: {
      provider: 'twitch',
      id: 'SuspiciousImpartialLarkItsBoshyTime',
      mediaType: 'clip'
    },
    format: <format>
  })
'long': 'https://clips.twitch.tv/SuspiciousImpartialLarkItsBoshyTime'
'embed': 'https://clips.twitch.tv/embed?clip=SuspiciousImpartialLarkItsBoshyTime'

> urlParser.create({
    videoInfo: {
      provider: 'twitch',
      channel: 'rains8',
      id: 'SuspiciousImpartialLarkItsBoshyTime',
      mediaType: 'clip'
    },
    format: <format>
  })
'long': 'https://www.twitch.tv/rains8/clip/SuspiciousImpartialLarkItsBoshyTime'
'embed': 'https://clips.twitch.tv/embed?clip=SuspiciousImpartialLarkItsBoshyTime'
Clone this wiki locally