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

Radiotalkの収録とライブ配信を支える技術

85caff7f89434c74e9c6b4287d3c8e05?s=47 Yosei
July 29, 2021

 Radiotalkの収録とライブ配信を支える技術

通常の収録配信とライブ配信について解説しています。

■アジェンダ
- 収録配信とライブ配信
- 収録配信実装
- ライブ配信実装
- まとめ

# 発表内容
## 収録配信とライブ配信
Radiotalkの配信方法の種類の紹介

## 収録配信実装
AVAudioRecorderの概要や実装方法についての説明

## ライブ配信実装
AVAudioEngineの概要や実装方法についての説明

85caff7f89434c74e9c6b4287d3c8e05?s=128

Yosei

July 29, 2021
Tweet

Transcript

  1. Radiotalkͷ ऩ࿥ͱϥΠϒ഑৴Λࢧ͑Δٕज़ iOSΤϯδχΞ 4ࣾ߹ಉLTձɹ2021/7/29ɹΑ͏͍ͤ

  2. ࣗݾ঺հ Α͏͍ͤ @fairy_engineer 
 Radiotalkגࣜձࣾ 
 iOSΤϯδχΞ(5೥໨) 
 ࡞੒ܦݧ͋ΔαʔϏε 


    ϒϩάɺԻ੠ɺ༧໿αʔϏεͳͲ
  3. Radiotalk ɾखܰʹ഑৴Ͱ͖ΔԻ੠αʔϏε ɾ഑৴ํ๏͸ऩ࿥഑৴ͱϥΠϒ഑৴ ɾPodcast΍Spotify΋ࣗಈ࿈ܞ

  4. ऩ࿥഑৴ͱϥΠϒ഑৴Ͱ ༻͍͍ͯΔٕज़Λ঺հ

  5. ऩ࿥ͱϥΠϒ഑৴Λࢧ͑Δٕज़ • ऩ࿥഑৴ͱϥΠϒ഑৴ • ऩ࿥഑৴࣮૷ • ϥΠϒ഑৴࣮૷ • ·ͱΊ

  6. ऩ࿥ͱϥΠϒ഑৴Λࢧ͑Δٕज़ • ऩ࿥഑৴ͱϥΠϒ഑৴ɹ👈 • ऩ࿥഑৴࣮૷ • ϥΠϒ഑৴࣮૷ • ·ͱΊ

  7. ऩ࿥഑৴ ɾAVAudioRecorderΛ࢖༻ ɾ࠷େ12෼·ͰԻ੠Λऩ࿥ ɾҰ࣌ఀࢭ΋Մೳ

  8. ऩ࿥഑৴(ήετ͋Γ) ɾagoraΛ࢖༻ ɾ࠷େ5໊·ͰήετΛট଴Ͱ͖Δ ɾ࠷େ12෼·ͰԻ੠Λऩ࿥ ɾURLΛڞ༗͢Δ͜ͱͰট଴Ͱ͖Δ

  9. ऩ࿥഑৴(ήετ͋Γ)

  10. ϥΠϒ഑৴ ɾAVAudioEngineΛ࢖༻ 
 ɾ30෼·ͰແྉͰϥΠϒ഑৴Ͱ͖Δ 
 ɾΪϑτ΍ίϝϯτΛड͚औΕΔ ɾ഑৴தʹޮՌԻΛ࠶ੜͰ͖Δ

  11. ϥΠϒ഑৴

  12. ϥΠϒ഑৴(ήετ͋Γ) ɾagoraΛ࢖༻ ɾ࠷େ9໊·ͰήετΛট଴Ͱ͖Δ ɾট଴Ϧετ΍Ϣʔβʔৄࡉ͔Βট ଴Ͱ͖Δ

  13. ϥΠϒ഑৴(ήετ͋Γ)

  14. ऩ࿥഑৴ͱϥΠϒ഑৴Λࢧ͑Δٕज़ ௨ৗͷऩ࿥഑৴ͱϥΠϒ഑৴ ʹ͍ͭͯղઆ͠·͢ɻ

  15. ऩ࿥ͱϥΠϒ഑৴Λࢧ͑Δٕज़ • ऩ࿥഑৴ͱϥΠϒ഑৴ • ऩ࿥഑৴࣮૷ɹ👈 • ϥΠϒ഑৴࣮૷ • ·ͱΊ

  16. AVAudioRecorder֓ཁ ϑΝΠϧʹԻ੠Λऩ࿥͢ΔΦϒδΣΫτ (AVAudioFoundationʹؚ·ΕΔ)

  17. ऩ࿥഑৴࣮૷ ᶃRecorderΛ࡞੒ ᶄRecorderͷૢ࡞ɺऩ࿥࣌ؒͷऔಘ

  18. ऩ࿥഑৴࣮૷ ᶃRecorderΛ࡞੒ ✅ ᶄRecorderͷૢ࡞ɺऩ࿥࣌ؒͷऔಘ

  19. ऩ࿥഑৴࣮૷ᶃ

  20. ऩ࿥഑৴࣮૷ ᶃRecorderΛ࡞੒ ✅ ᶄRecorderͷૢ࡞ɺऩ࿥࣌ؒͷऔಘ ✅

  21. ऩ࿥഑৴࣮૷ᶄ

  22. ऩ࿥ͱϥΠϒ഑৴Λࢧ͑Δٕज़ • ऩ࿥഑৴ͱϥΠϒ഑৴ • ऩ࿥഑৴࣮૷ • ϥΠϒ഑৴࣮૷ɹ👈 • ·ͱΊ

  23. AVAudioEngine֓ཁ ೖग़ྗϊʔυʹෳ਺ͷϊʔυΛ૊Έ߹ΘͤΔ͜ͱͰ ऩ࿥΍࠶ੜͳͲͷػೳΛఏڙͰ͖Δ (AVAudioFoundationʹؚ·ΕΔ)

  24. AVAudioEngine֓ཁ

  25. ϥΠϒ഑৴࣮૷ ɾAVAudioEngineͷϊʔυߏ੒ ɾAVAudioEngineͷ࣮૷

  26. ϥΠϒ഑৴࣮૷ ɾAVAudioEngineͷϊʔυߏ੒ ✅ ɾAVAudioEngineͷ࣮૷

  27. AVAudioEngineͷϊʔυߏ੒

  28. AVAudioEngineͷϊʔυߏ੒

  29. AVAudioEngineͷϊʔυߏ੒

  30. ϥΠϒ഑৴࣮૷ ɾAVAudioEngineͷϊʔυߏ੒ ✅ ɾAVAudioEngineͷ࣮૷ ✅

  31. AVAudioEngineͷ࣮૷ ᶃΤϯδϯͱϊʔυͷ֤ఆٛ ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ ᶅԻ੠όοϑΝΛऔಘ͠ϥΠϒ഑৴ॲཧ ᶆΤϯδϯελʔτ

  32. AVAudioEngineͷ࣮૷ ᶃΤϯδϯͱϊʔυͷ֤ఆٛ ✅ ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ ᶅԻ੠όοϑΝΛऔಘ͠ϥΠϒ഑৴ॲཧ ᶆΤϯδϯελʔτ

  33. ᶃΤϯδϯͱϊʔυͷ֤ఆٛ

  34. ᶃΤϯδϯͱϊʔυͷ֤ఆٛ

  35. ᶃΤϯδϯͱϊʔυͷ֤ఆٛ

  36. AVAudioEngineͷ࣮૷ ᶃΤϯδϯͱϊʔυͷ֤ఆٛ ✅ ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ ✅ ᶅԻ੠όοϑΝΛऔಘ͠ϥΠϒ഑৴ॲཧ ᶆΤϯδϯελʔτ

  37. ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ

  38. ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ

  39. AVAudioEngineͷ࣮૷ ᶃΤϯδϯͱϊʔυͷ֤ఆٛ ✅ ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ ✅ ᶅԻ੠όοϑΝΛऔಘ͠ϥΠϒ഑৴ॲཧ ✅ ᶆΤϯδϯελʔτ

  40. ᶅԻ੠όοϑΝΛऔಘ͠ϥΠϒ഑৴ॲཧ

  41. AVAudioEngineͷ࣮૷ ᶃΤϯδϯͱϊʔυͷ֤ఆٛ ✅ ᶄΤϯδϯʹϊʔυΛऔΓ෇͚֤ϊʔυͷ઀ଓ ✅ ᶅԻ੠όοϑΝΛऔಘ͠ϥΠϒ഑৴ॲཧ ✅ ᶆΤϯδϯελʔτ ✅

  42. None
  43. ޮՌԻͷ࠶ੜ

  44. Τϯδϯετοϓ

  45. ऩ࿥ͱϥΠϒ഑৴Λࢧ͑Δٕज़ • ऩ࿥഑৴ͱϥΠϒ഑৴ • ऩ࿥഑৴࣮૷ • ϥΠϒ഑৴࣮૷ • ·ͱΊɹ👈

  46. ·ͱΊ γϯϓϧͳऩ࿥ػೳ͸AVAudioRecorder ߴ౓ͳऩ࿥ʹ͸AVAudioEngine

  47. ·ͱΊ Ҏ্Ͱ͢👏