Save 37% off PRO during our Black Friday Sale! »

外に出れないこんなご時世だからこそ、AWS MediaServices によるライブ配信入門

外に出れないこんなご時世だからこそ、AWS MediaServices によるライブ配信入門

AWS MediaServices を使用してライブ配信基盤を構築する際の一般的なアーキテクチャをライブ配信に必要な要素をなぞりつつご説明します。

Cc21f5175d3e9cd0f9574c3fe7656c1e?s=128

RyousukeOomae

June 16, 2020
Tweet

Transcript

  1. "84.FEJB4FSWJDFT ʮ֎ʹग़Εͳ͍͜Μͳ࣌͝ੈ͔ͩΒͦ͜ʯ ʹΑΔ ϥΠϒ഑৴ೖ໳

  2. ֎ʹग़Εͳ͍͜Μͳ࣌͝ੈ͔ͩΒͦ͜ɺ "84.FEJB4FSWJDFTʹΑΔϥΠϒ഑৴ೖ໳ ೥݄೔ "84ࣄۀຊ෦ ίϯαϧςΟϯά෦ େલྒ༞

  3. 3 ࣗݾ঺հ େલ ྒ༞ʢPPNBFSZPVTVLFʣ • ೥ ݄ೖࣾ • "84ࣄۀຊ෦ ίϯαϧςΟϯά෦

    ॴଐ • "1/"845PQ&OHJOFFST • ޷͖ͳαʔϏε • "84.FEJB4FSWJDFT
  4. 4 ૣ଎Ͱ͕͢ɾɾɾ "84ͰϥΠϒ഑৴͍ͨ͠Μ͚ͩͲ .FEJB4FSWJDFT͍ͬͯ͏ͷ͕͋ΔΒ͍͠͡ΌΜ :PVUVCF-JWFͱ͔΋͋ΔΑͶʁ ͦΕ͡ΌμϝͳΜ͚ͩͬʁ

  5. 5 ૣ଎Ͱ͕͢ɾɾɾ ճ౴͕ύοͱ಄ʹු͔ͼ·͔͢ʁ

  6. 6 ຊηογϣϯͷ໨త • "84.FEJB4FSWJDFTͷ໾ׂΛཧղͰ͖Δ • "84ͰϥΠϒ഑৴Λߦ͏ߏ੒͕ΠϝʔδͰ͖Δ • ʮͳͥ "84Ͱߏங͢Δͷ͔ʁʯʹ౴͑ΒΕΔ

  7. 7 ຊηογϣϯͰ࿩͞ͳ͍ࣄ • αʔϏε΍഑৴ٕज़ʹؔ͢Δࡉ͔͍આ໌ • 7P%ʢ7JEFPPO%FNBOEʣʹ͍ͭͯ

  8. 8 ΞδΣϯμ  "84.FEJB4FSWJDFTͷ֓ཁ  ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ  "84.FEJB4FSWJDFTͷ໾ׂ  ͳͥ

    "84Ͱಈը഑৴Λ͢Δͷ͔  ·ͱΊ
  9. 9 "84.FEJB4FSWJDFTͷ֓ཁ "84.FEJB4FSWJDFTͱ͸

  10. 10 "84.FEJB4FSWJDFTͱ͸ • "84্ͰϥΠϒ഑৴΍ 7P%ͳͲͷϏσΦϫʔΫϑ ϩʔΛߏங͢Δࡍʹ໾ཱͭαʔϏε܈Λࢦࣔ͢͠ • ೥ʹ "84͕ങऩͨ͠ &MFNFOUBMࣾͷө૾ι

    Ϧϡʔγϣϯʹؔ͢Δٕज़͕ϕʔεʹͳ͍ͬͯΔ "84.FEJB4FSWJDFTͷ֓ཁ https://aws.amazon.com/jp/about-aws/whats-new/2015/09/07/announcing-elemental- acquisition/
  11. 11 "84.FEJB4FSWJDFTͷ֓ཁ αʔϏεҰཡ

  12. 12 "84.FEJB4FSWJDFTͷ֓ཁ "84ϝσΟΞαʔϏε • &$౳ͱಉ༷ʹίϯιʔϧ্͔Β࢖༻͢ΔαʔϏε • αʔό؅ཧෆཁͷϚωʔδυαʔϏε "84&MFNFOUBM .FEJB$POOFDU "NB[PO,JOFTJT

    7JEFP4USFBNT "84&MFNFOUBM .FEJB$POWFSU "84&MFNFOUBM .FEJB-JWF "84&MFNFOUBM .FEJB1BDLBHF "84&MFNFOUBM .FEJB4UPSF "84&MFNFOUBM .FEJB5BJMPS https://aws.amazon.com/jp/media-services/#AWS_Media_Services
  13. 13 "84.FEJB4FSWJDFTͷ֓ཁ "84&MFNFOUBMΞϓϥΠΞϯεͱιϑτ΢ΣΞ • "84͔Β෺ཧػࡐΛߪೖͯ͠࢖༻͢ΔαʔϏε "84&MFNFOUBM $POEVDUPS "84&MFNFOUBM %FMUB "84&MFNFOUBM

    -JWF "84&MFNFOUBM 4FSWFS "84&MFNFOUBM -JOL https://aws.amazon.com/jp/media-services/#AWS_Elemental_Appliances_.26_Software
  14. 14 શαʔϏε͸Χόʔ͖͠Εͳ͍ͷͰɾɾɾ "84.FEJB4FSWJDFTͷ֓ཁ "84&MFNFOUBM .FEJB$POOFDU "84&MFNFOUBM .FEJB-JWF "84&MFNFOUBM .FEJB1BDLBHF "84&MFNFOUBM

    .FEJB4UPSF "84&MFNFOUBM -JWF "84&MFNFOUBM -JOL ϥΠϒ഑৴Ͱओʹ࢖ ༻͞ΕΔαʔϏε ͪΐͬͱ͚ͩ঺հ "84&MFNFOUBM .FEJB5BJMPS
  15. 15 ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ ϥΠϒ഑৴Λߦ͏ͨΊͷཁૉͱ͸ʁ

  16. 16 ϥΠϒ഑৴ͷϫʔΫϩʔυΛඥղ͍ͯΈΑ͏ • ΠϯλʔωοτΛܦ༝ͨ͠഑৴Λର৅ʢ055ʣ • Ӵ੕์ૹ͸࢓૊Έ͕ҟͳΔ෦෼͕͋ΔͷͰର৅֎ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  17. 17 ࡱӨ • ϥΠϒ഑৴ʹ͓͚Δେݩͷཁૉ • Χϝϥ΍ϚΠΫΛ௨ͯ͡ө૾΍Ի੠ΛσʔλԽ͢Δ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  18. 18 Τϯίʔυ • ࡱӨ͞ΕͨσʔλαΠζ͸Πϯλʔωοτܦ༝ͰϢʔβʹ ಧ͚Δʹ͸େ͖͗͢Δ • ඼࣭ΛอͪͭͭɺՄೳͳݶΓϑΝΠϧαΠζΛ࡟ݮ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  19. 19 ύοέʔδϯά • ಈըΛ࠶ੜ͢Δ؀ڥ͸༷ʑ 1$ "OESPJE J04  • ࠶ੜ؀ڥʹԠͨ͡ܗࣜʹσʔλΛม׵͢Δඞཁ͕͋Δ

    ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ
  20. 20 ΦϦδϯ΁ͷอ؅ • Τϯίʔυ΍ύοέʔδϯά͕׬ྃͨ͠ϑΝΠϧΛอ؅ • Ϣʔβ͸ΦϦδϯ͔ΒσʔλΛऔಘ͢Δ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  21. 21 ഑৴ʢ$%/ͷ࢖༻ʣ • ΦϦδϯʹΞΫηε͕ूத͢Δ͜ͱΛආ͚ΔͨΊɺ$%/ ʢ$POUFOU%FMJWFSZ/FUXPSLʣΛ࢖༻ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  22. 22 ಈըϓϨΠϠʔ • σόΠεଆͰಈըϑΝΠϧΛਓ͕ࢹௌग़དྷΔܗͰදࣔ͢Δ • σόΠεʹΑͬͯ͸ͦͷ··࠶ੜͰ͖Δ৔߹΋͋Δ͕ɺҰ ൠతʹ͸ +BWB4DSJQU౳Ͱͷ࣮૷͕ඞཁ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  23. 23 શମਤʢ͋͘·ͰҰྫͰ͢ʣ ࢲͨͪʹϥΠϒ഑৴͕ಧ͘·Ͱ

  24. 24 "84.FEJB4FSWJDFTͷ໾ׂ ͡Ό͋ɺ .FEJB4FSWJDFT͸ԿΛͯ͘͠ΕΔͷʁ

  25. 25 • Τϯίʔυ ʙ ഑৴·ͰΛ "84Ͱ͸ΧόʔՄೳ • ࡱӨɺಈըϓϨΠϠʔʹ͍ͭͯ͸ࣗલͰ༻ҙ͕ඞཁ "84.FEJB4FSWJDFT͕Χόʔ͢Δൣғ

  26. 26 "84.FEJB4FSWJDFTͷ໾ׂ ΦϯϓϨ͔Β "84΁ͷσʔλసૹ

  27. 27 ࡱӨ͞ΕͨσʔλΛ "84ʹ࣋ͬͯ͘Δඞཁ͕͋Δ ΦϯϓϨ͔Β "84΁ͷσʔλసૹ

  28. 28 Πϯλʔωοτܦ༝ PSดҬ໢ܦ༝ • "84%JSFDU$POOFDUΛ࢖༻ͨ͠ดҬ໢సૹ ΦϯϓϨ͔Β "84΁ͷσʔλసૹ https://aws.amazon.com/jp/directconnect/

  29. 29 ΦϯϓϨϛεଆͰͷΤϯίʔυ༗ແ • "84ʹૹΔલʹΤϯίʔυ͕ඞཁͳ৔߹͕͋Δ • ෺ཧ੡඼ͱͯ͠ &MFNFOUBM-JWF ͱ͍͏αʔϏε͕ଘࡏ ΦϯϓϨ͔Β "84΁ͷσʔλసૹ

  30. 30 "84&MFNFOUBM-JOL ͷ࢖༻ • "84&MFNFOUBM.FEJB-JWF ʹσʔλసૹ͕Մೳ • &MFNFOUBM-JOL಺ͰಈըΛѹॖ͠ "84ʹసૹ ΦϯϓϨ͔Β

    "84΁ͷσʔλసૹ
  31. 31 "84.FEJB4FSWJDFTͷ໾ׂ "84ؒͷσʔλసૹ

  32. 32 "84ؒͷσʔλసૹ͕ඞཁͳέʔε • ւ֎ʢผϦʔδϣϯʣͰࡱӨ͞Εͨө૾Λ೔ຊʹૹΓ͍ͨ • ૹΒΕͨө૾Λෳ਺ͷαʔϏε΍ΞΧ΢ϯτʹ෼഑͍ͨ͠ "84ؒͷσʔλసૹ

  33. 33 "84&MFNFOUBM.FEJB$POOFDU • ߴ඼࣭ͳϥΠϒಈը఻ૹαʔϏε • ৴པੑͷߴ͍ಈը఻ૹΛ࣮ݱ • ดҬ໢΍Ӵ੕௨৴ʹൺ΂ͯ҆Ձ • ϚωʔδυαʔϏε

    "84ؒͷσʔλసૹ https://aws.amazon.com/jp/mediaconnect/
  34. 34 ϦʔδϣϯΛލ͍ͩసૹ "84ؒͷσʔλసૹ ෳ਺αʔϏε౳΁ͷ෼഑

  35. 35 "84.FEJB4FSWJDFTͷ໾ׂ "84্ͰͷΤϯίʔυ

  36. 36 "84&MFNFOUBM.FEJB-JWF • ϥΠϒಈը޲͚ΤϯίʔσΟϯάαʔϏε • ์ૹ඼࣭ϨϕϧΛ࣮ݱ͢Δ༷ʑͳػೳ • ߴ͍Մ༻ੑΛ࣋ͭϚωʔδυαʔϏε • γϯϓϧͳཁ݅Ͱ͋Ε͹ύοέʔδϯά·Ͱ࣮ࢪՄೳ

    "84্ͰͷΤϯίʔυ https://aws.amazon.com/jp/medialive/
  37. 37 ߏ੒ "84্ͰͷΤϯίʔυ

  38. 38 "84.FEJB4FSWJDFTͷ໾ׂ "84্Ͱͷύοέʔδϯά

  39. 39 "84্Ͱͷύοέʔδϯά "84&MFNFOUBM.FEJB1BDLBHF • ಈըͷύοέʔδϯάαʔϏε • %3.ʢσδλϧஶ࡞ݖ؅ཧʣ ΍޿ࠂૠೖ౳ͳ Ͳɺߴ౓ͳಈըػೳΛ࣮ݱ •

    ΦϦδϯͷ໾ׂ΋಺แ https://aws.amazon.com/jp/mediapackage/
  40. 40 "84্Ͱͷύοέʔδϯά ߏ੒

  41. 41 "84.FEJB4FSWJDFTͷ໾ׂ "84্ͰͷΦϦδϯ

  42. 42 "84্ͰͷΦϦδϯ "84&MFNFOUBM.FEJB4UPSF • ϥΠϒ഑৴σʔλΛอଘɺ഑৴ • 4ͷηΩϡϦςΟͱ଱ٱੑΛ׆༻ • ϥΠϒ഑৴ʹಛԽͨ͠ύϑΥʔϚϯε https://aws.amazon.com/jp/mediastore/

  43. 43 "84্ͰͷΦϦδϯ "NB[PO4ͱͷ࢖͍෼͚ • ϥΠϒ഑৴ ʜ.FEJB4UPSF • ͦͷଞʢ7P%ͳͲʣʜ4 4ͷಛੑͰ͋Δ ݁Ռ੔߹ੑ

    ͕ϙΠϯτ https://dev.classmethod.jp/articles/ aws-elemental-mediastore- mediastore-immediate-consistency/
  44. 44 "84্ͰͷΦϦδϯ ߏ੒

  45. 45 "84.FEJB4FSWJDFTͷ໾ׂ .FEJB1BDLBHFͱ .FEJB4UPSFͷ࢖͍෼͚

  46. 46 .FEJB-JWF .FEJB4UPSF • γϯϓϧͳϥΠϒ഑৴ʹ࠷ద • ഑৴ର৅ͷσόΠεछผ͕গͳ͍ • ߴ౓ͳಈըػೳ͕ෆཁ .FEJB1BDLBHFͱ

    .FEJB4UPSFͷ࢖͍෼͚ .FEJB-JWF ʜΤϯίʔυͱύοέʔδϯά .FEJB4UPSF ʜΦϦδϯ
  47. 47 .FEJB-JWF .FEJB1BDLBHF • ഑৴ର৅ͷσόΠεछผ͕ଟ͍ • %3.ʢσδλϧஶ࡞ݖ؅ཧʣ ΍޿ࠂૠೖ౳͕ඞཁ • ߴ౓ͳಈըػೳΛ࢖༻͍ͨ͠

    .FEJB1BDLBHFͱ .FEJB4UPSFͷ࢖͍෼͚ .FEJB-JWF ʜΤϯίʔυ .FEJB1BDLBHF ʜύοέʔδϯάͱΦϦδϯ
  48. 48 ·ͣ͸ ʼ .FEJB-JWF .FEJB4UPSF ߏ੒Λݕ౼ ࣮ݱͰ͖ͳ͍ཁ͕݅͋Δ৔߹ .FEJB-JWF .FEJB1BDLBHF Λ࠾༻

    .FEJB1BDLBHFͱ .FEJB4UPSFͷ࢖͍෼͚
  49. 49 "84.FEJB4FSWJDFTͷ໾ׂ "84͔Βͷ഑৴

  50. 50 "84͔Βͷ഑৴ "NB[PO$MPVE'SPOU • "84͕ఏڙ͢Δ $%/ • ΦϦδϯͷෛՙΛܰݮ • ϥΠϒίϯςϯπʹରͯ͠΋༗ޮ

    https://aws.amazon.com/jp/cloudfront/ https://pages.awscloud.com/rs/112-TZM-766/images/KN-153-InterBEE2019_AWS- CDN%E3%80%90%E9%85%8D%E5%B8%83%E8%B3%87%E6%96%99%E7%89%88%E3%80%91.pdf
  51. 51 "84͔Βͷ഑৴ ߏ੒

  52. 52 "84.FEJB4FSWJDFTͷ໾ׂ ϥΠϒಈըͷ࠶ੜ؀ڥ

  53. 53 • "84ʹ͸ಈըϓϨΠϠʔΛ࣮ݱ͢ΔαʔϏε͸ແ͍ҝ • ࣗલͰ࣮૷Λߦ͍ɺΞϓϦέʔγϣϯ౳ʹ૊ΈࠐΉ • खஈ • 7JEFPKTͷΑ͏ͳϑϨʔϜϫʔΫΛ࢖༻ •

    5)&0QMBZFSͱ͍ͬͨϓϨΠϠʔ੡඼ͷ࠾༻ ϥΠϒಈըͷ࠶ੜ؀ڥ https://videojs.com/ https://www.theoplayer.com/
  54. 54 ಈըϓϨΠϠʔʹؔ͢Δฐࣾϒϩά ϥΠϒಈըͷ࠶ੜ؀ڥ https://dev.classmethod.jp/articles/videojs-http-streaming-vhs-hls-streaming-minimum- setting/ https://dev.classmethod.jp/articles/introduce-theoplayer/

  55. 55 "84.FEJB4FSWJDFTͷ໾ׂ ʢࢀߟʣ޿ࠂૠೖ

  56. 56 ʢࢀߟʣ޿ࠂૠೖ "84&MFNFOUBM.FEJB5BJMPS • ಈըʹ޿ࠂΛૠೖ͢ΔαʔϏε • αʔόʔαΠυ޿ࠂૠೖܕ • ޿ࠂ৘ใΛฦ٫͢Δ "%ʢΞυʣαʔόʔ͕ผ్ඞཁ

    https://aws.amazon.com/jp/mediatailor/
  57. 57 ʢࢀߟʣ޿ࠂૠೖ ߏ੒

  58. 58 "84.FEJB4FSWJDFTͷ໾ׂ શମ૾

  59. 59 શମ૾

  60. 60 ͳͥ "84Ͱಈը഑৴Λ͢Δͷ͔ ͦΕɺ"84Ͱ഑৴͢Δඞཁ͸͋Γ·͔͢ʁ

  61. 61 ಈը഑৴ʹؔ͢ΔϓϥοτϑΥʔϜ΍ύοέʔδ੡඼ ͸ੈͷதʹ਺ଟ͘ଘࡏ • "84Ͱߏங͢Δඞཁ͕ແ͍έʔε΋ • ʮ"84Ͱߏங͢Δཧ༝ʯΛ͖ͪΜͱෲམͪͤ͞Δ ͦΕɺ"84Ͱ഑৴͢Δඞཁ͸͋Γ·͔͢ʁ ˞ຊηογϣϯͰऔΓ্͛ΔϙΠϯτ͸͋͘·ͰҰྫͰ͢ɻ ͋͘·ͰࢀߟʹཹΊͯ௖͚·͢ͱ޾͍Ͱ͢ɻ

  62. 62 ϙϦγʔɺίϯϓϥΠΞϯε • ձࣾͷϧʔϧతʹϓϥοτϑΥʔϜ౳ͷ࢖༻͕ /( • ʮಈը഑৴αΠτͷຒΊࠐΈײΛग़ͨ͘͠ͳ͍ʯ • ଞࣾϓϥοτϑΥʔϜ্ʹίϯςϯπΛอ؅Ͱ͖ͳ͍ •

    FUD ൑அج४ͱͳΔओͳϙΠϯτ
  63. 63 ϥϯχϯάίετ • ഑৴ϓϥοτϑΥʔϜ͸ߴػೳ͕ͩߴՁͳࣄ΋ • Ұ࣌తͳ഑৴΍খن໛ͳ഑৴ͩͱݟ߹Θͳ͍έʔε΋ ൑அج४ͱͳΔओͳϙΠϯτ

  64. 64 ϓϥοτϑΥʔϜ࢖༻࣌ͷऩӹϞσϧ • ࠶ੜ਺ʹԠͨ͡޿ࠂ΍౤͛મ͕ϝΠϯ • ഑৴ର৅ͷίϯςϯπྗ͕ٻΊΒΕΔ • རӹ͕ग़ͯ΋ҰఆͷϚʔδϯΛऔΒΕͯ͠·͏ ൑அج४ͱͳΔओͳϙΠϯτ

  65. 65 ͳͥ "84Ͱಈը഑৴Λ͢Δͷ͔ "84Ͱͷ഑৴͕ϑΟοτ͢Δέʔε

  66. 66 • Ұ࣌తͳεϙοτ഑৴΍খن໛഑৴ • "84ͷैྔ՝ۚϞσϧ͕ϑΟοτ • ඞཁ࠷খݶͷίετͰ࢝ΊΒΕΔ • ऩӹϞσϧΛࣗ෼ͨͪͰ༻ҙ͍ͨ͠ •

    طଘͷऩӹϞσϧʹनΘΕͳ͍ϏδωεΛݕ౼Մೳ • ଞͷ "84αʔϏεͱ࿈ܞͨ͠৽͍͠Ձ஋Λ૑଄ • ಈը഑৴ͱػցֶशαʔϏεͱͷ૊Έ߹ΘͤͳͲ "84Ͱͷ഑৴͕ϑΟοτ͢Δέʔε
  67. 67 ͳͥ "84Ͱಈը഑৴Λ͢Δͷ͔ "84Ͱ഑৴͢Δʁ͠ͳ͍ʁ ·ͱΊ

  68. 68 "84 Ͱ഑৴͢Δʁ͠ͳ͍ʁ·ͱΊ • "84 Ͱ഑৴͕ϑΟοτ͢Δέʔε • εϙοτ഑৴ͳͲɺैྔ՝ۚੑ͕ϑΟοτ͢Δ৔߹ • ΧελϚΠζੑ͕ٻΊΒΕΔ৔߹

    • "84αʔϏεΛϑϧ׆༻͍ͨ͠ • ϓϥοτϑΥʔϜ౳ͷ࢖༻͕ਪ঑͞ΕΔέʔε • ऩӹ͸ؔ܎ͳ͘഑৴͑͞Ͱ͖Ε͹ྑ͍ • ϓϥοτϑΥʔϜ౳Λ࢖༻্ͨ͠Ͱ΋རӹ͕ݟࠐΊΔ
  69. 69 ·ͱΊ ͋ͷ࣭໰Λࢥ͍ग़͠·͠ΐ͏

  70. 70 ͋ͷ࣭໰ "84ͰϥΠϒ഑৴͍ͨ͠Μ͚ͩͲ .FEJB4FSWJDFT͍ͬͯ͏ͷ͕͋ΔΒ͍͠͡ΌΜ :PVUVCF-JWFͱ͔΋͋ΔΑͶʁ ͦΕ͡ΌμϝͳΜ͚ͩͬʁ

  71. 71 গ͠Ͱ΋ճ౴͕ΠϝʔδͰ͖Δ༷ʹͳΓ·͔ͨ͠ʁ ·ͱΊ

  72. 72 ࠓ೔࿩ͨ͠ࣄ • "84.FEJB4FSWJDFTͱ͸ • ϥΠϒ഑৴ϫʔΫϩʔυͷཁૉ • "84.FEJB4FSWJDFTͷ໾ׂ • "84Ͱಈը഑৴Λ͢Δ৔߹ɺ͠ͳ͍৔߹

    ·ͱΊ
  73. None