ピクシブのコンテンツ配信基盤技術 / pixiv TECH SALON

124da56a613b15fa980427533e4e3839?s=47 Harukasan
March 06, 2019

ピクシブのコンテンツ配信基盤技術 / pixiv TECH SALON

ピクシブのコンテンツ配信基盤技術
pixiv TECH SALON / 2018-03-06
https://techsalon.pixiv.co.jp/

124da56a613b15fa980427533e4e3839?s=128

Harukasan

March 06, 2019
Tweet

Transcript

  1. 7.
  2. 13.
  3. 16.

    go-thumber Gopher image was created by Takuya Ueda (https://twitter.com/tenntenn).
 Licensed

    under the Creative Commons 3.0 Attributions license. https://github.com/pixiv/go-thumber αϜωΠϧม׵ϓϩΩγ
  4. 21.
  5. 27.

    ։ൃαΠΫϧΛଅਐ͢ΔΫϥ΢υը૾ม׵αʔϏε Base:
 go-thumber
 pixiv഑৴Ϋϥελ Format:
 JPEG, PNG, GIF
 and WebP

    Origin:
 HTTPS and S3 Infrastructure: ͘͞ΒΠϯλʔωοτ
 ίϯςϯπ഑৴ج൫ JPEG PNG WebP HTTPS
  6. 33.

    type ScanLineReader interface {
 
 // Config returns the image

    configuration. Config() *Config
 
 // ReadScanLines reads scan lines into the p for each component. ReadScanLines(ctx context.Context, p [][]uint8) (int, error)
 } ֤ը૾ม׵ίϯϙʔωϯτΛؔ਺ͱ࣮ͯ͠૷ ը૾ม׵ύΠϓϥΠϯ func Scale(src ScanLineReader, width, height int) ScanLineReader
  7. 34.

    c := Decode(src) c = Clip(c, image.Rect(10,10,410,310)) c = Scale(c,

    200, 150) Encode(rw, c) ը૾ม׵ύΠϓϥΠϯ Decode Clip Scale Encode ෳ਺ͷը૾ॲཧΛ࿈݁
  8. 40.

    WebRTC - HLS WebRTC SFU Sora Streamer Transcoder RTP forwarding

    spawn GPU MPEG-TS PIPE M3U8 # " Cache ഑৴ऀ ࢹௌऀ
  9. 43.
  10. 45.

    ߴ଎ɺେ༰ྔ഑৴ͷݚڀ։ൃ Format:
 VP9 HEIF (HEVC) AV1 Protocol:
 WebRTC LHLS Infrastructure:


    100G network ෳ਺Ϧʔδϣϯ CDNͱͷ౷߹ Research:
 ػցֶश ετϦʔϜม׵