Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Skywayをpixiv Sketch Liveへ導入したときの話 / skyway ug t...

Skywayをpixiv Sketch Liveへ導入したときの話 / skyway ug tokyo #2

Avatar for Keiji, Yoshimi

Keiji, Yoshimi

February 05, 2018
Tweet

Other Decks in Programming

Transcript

  1. QJYJW4LFUDI-JWFͱ͸ w IUUQTTLFUDIQJYJWOFUMJWFT w ͓ֆඳ͖΍૑࡞׆ಈʹಛԽͨ͠഑৴αʔϏε w 8FC35$ʹΑΔ഑৴ 35.1ͳͲ͸ະαϙʔτ  w

    ਓ·Ͱಉ࣌ʹ഑৴͕Ͱ͖Δ w ༷ʑͳϞʔυͷαϙʔτ w υϩʔπʔϧ $BOWBTʹඳըͨ͠΋ͷΛ഑৴  w Χϝϥ w ը໘ڞ༗ w ը໘ͳ͠ ݱࡏ͸ະαϙʔτ
  2. Ϣʔβʔ৘ใͷϚοϐϯά w ͭϢʔβʔʹ͖ͭͭͷSBOEPNͳUPLFOΛੜ੒ͯͦ͠ΕΛ4LZ8BZͷ઀ଓ*%ͱ ͯ͠ར༻͍ͯͨ͠ w ઀ଓ*%ͱɺϢʔβʔ৘ใ͸༻్ʹΑͬͯ૬ޓʹม׵͢Δඞཁ͕͋Δ w ਓͷϢʔβʔ͕ෳ਺λϒ։͍ͨΓͯ͠ෳ਺઀ଓ͢Δ͜ͱ͕͋Δ w KPJOMFBWFͳͲͰඈΜͰ͘Δ৘ใͰ͸઀ଓ*%͔͠Θ͔Βͳ͍

    w ΫϥΠΞϯταΠυ͕طʹ஌͍ͬͯΔ઀ଓ*%Ͱ͋Ε͹ϢʔβʔΛಛఆͰ͖Δ͕ɺ ஌Βͳ͍৔߹৘ใΛऔಘ͢Δ·Ͱ୭͔Θ͔Βͳ͍ɻ w ઀ଓ࣌ʹϝλσʔλΛඥ͚ͮΔ͜ͱ͕Ͱ͖Δͱศརͦ͏ w ৴པੑͷ໰୊ΛͲ͏ղܾ͢Δ͔͕೉ͦ͠͏
  3. ͨͩ࠷΋େมͩͬͨͷ͸4LZ8BZ ʹؔ܎ͳ͍8FC35$ͷରԠ w %SBXϞʔυ w ΧϝϥϞʔυ w ը໘ڞ༗Ϟʔυ w ը໘ͳ͠Ϟʔυ

    w ͦΕͧΕ͔ΒͦΕͧΕͷભҠʹՃ͑ͯɺԻ੠͋Γͳ͠ɺͷ৔߹ ͕͋Δɻ w ˠख࡞ۀͰ΍Δ͔͠ͳ͍͚Ͳಈ࡞νΣοΫ͕େม
  4. USBDLͷ߹੒ Const stream2 = canvas.captureStream(24); // 24fps const stream =

    new MediaStream(); stream.addTrack(stream1.getAudioTracks()[0].clone()); stream.addTrack(stream2.getVideoTracks()[0].clone()); room.replaceStream(stream); w .FEJB4USFBNಉ͔࢜Β.FEJB4USFBN5SBDLΛநग़͠ɺ߹੒ͨ͠ .FEJB4USFBNΛ࡞੒͢Δ w ͜ΕͰɺϚΠΫೖྗͷԻ੠͋Γͷ$BOWBTͷ഑৴͕Ͱ͖Δ
  5. ը໘ڞ༗ w $ISPNFͷ৔߹͸DISPNF֦ுͰͷΈՄೳ w DISPNFEFTLUPQ$BQUVSFDIPPTF%FTLUPQ.FEJB w *OMJOFJOTUBMMΛαϙʔτ͢ΔͱΑ͍ XJOEPXDISPNFXFCTUPSFJOTUBMM  w

    HFU6TFS.FEJB͢Δͱ͖ʹNBYΛࢦఆ͠ͳ͍ͱ͔ͳΓը࣭͕ѱ͘ͳΔ w 4BGBSJ&EHF͸"1*͕ଘࡏ͠ͳ͍ w ͋ΔͳΒ஌Γ͍ͨͰ͢ w 'JSFGPY͸֦ு΋ඞཁͳͯ͘HFU6TFS.FEJB࣌ʹTDSFFOBQQMJDBUJPOXJOEPXΛࢦఆ͢ ΔͷΈ w MPDBMIPTUͰ͋ͬͯ΋IUUQTͰͳ͍ͱಈ͔ͳ͍
  6. ෳ਺ಉ࣌഑৴ͷಈ࡞֬ೝ w ྑ͍1$Λ༻ҙ͢Δ w ෳ਺ਓ഑৴ ࢹௌ෼ը໘Λ༻ҙ͢Δͱ͔ͳΓॏ͘ͳΔ w 049Ͱ։ൃ͚ͨ͠ͲIͷ৔߹ɺϋʔυ΢ΣΞΤϯίʔμΛ࢖͑ΔͷͰ8JOEPXTͷํ͕ϕλʔ ͔΋ w

    ޿͍Ϟχλ , Λ༻ҙ͢Δ w ը໘ʹಉ࣌ʹදࣔͰ͖ͳ͍ͱͲ͜ͰͲͷΞΧ΢ϯτΛ഑৴͍ͯ͠Δ͔Θ͔Βͳ͘ͳͬͯೳ཰͕௿ Լ͢Δ w ࣗಈͰλΠϧঢ়ʹ഑ஔ͞ΕΔιϑτΛ࢖ͬͯ഑ஔͷखؒΛݮΒͨ͠ w $ISPNF $ISPNF$BOBSZ 7JWBMEJ ͦΕͧΕͰγʔΫϨοτϞʔυΛۦ࢖͢Δ͜ͱͰෳ਺ΞΧ΢ϯ τʹରԠ͢Δ w ॳظ͸$ISPNFͷΈ͔͠αϙʔτ͠ͳ͔ͬͨͷͰෳ਺ϢʔβʔͰ഑৴ͷಈ࡞ςετ͢Δͷ͕ࠓΑ Γେมͩͬͨ