<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Webrtc on 코딩잘하자</title><link>https://codingjalhaja.com/categories/webrtc/</link><description>Recent content in Webrtc on 코딩잘하자</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Wed, 11 Oct 2023 00:00:00 +0900</lastBuildDate><atom:link href="https://codingjalhaja.com/categories/webrtc/index.xml" rel="self" type="application/rss+xml"/><item><title>[WebRTC] 화상회의 웹서비스 개발하기 (with.janus-gateway) - (4)</title><link>https://codingjalhaja.com/webrtc/start-webrtc-with-janus4/</link><pubDate>Wed, 11 Oct 2023 00:00:00 +0900</pubDate><guid>https://codingjalhaja.com/webrtc/start-webrtc-with-janus4/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://codingjalhaja.com/webrtc/start-webrtc-with-janus3/" &gt;지난번 포스팅&lt;/a&gt;&#10;은 설정방법 이었습니다.&lt;/p&gt;&#10;&lt;p&gt;오늘은 janus 자체 녹화 플러그인에 대한 설명을 해보겠습니다.&lt;/p&gt;&#10;&lt;p&gt;이 포스팅에서 설정하는 모든 것은 janus-gateway 문서에도 잘 나와있습니다.&lt;/p&gt;&#10;&lt;h2 id="recordplay"&gt;RecordPlay&lt;/h2&gt;&#10;&lt;p&gt;janus-gateway 를 정상적으로 설치를 했다면&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;/opt/janus/etc/janus&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;위의 경로에 설정 아래와 같은 파일들이 있을겁니다.&lt;/p&gt;&#10;&lt;p&gt;&lt;figure class="my-7"&gt;&lt;img src="https://codingjalhaja.com/webrtc/start-webrtc-with-janus4/janus-setting-files.png" alt="janus-setting-files" loading="lazy" decoding="async" class="rounded-xl border border-slate-200 dark:border-slate-700" &gt;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;이 파일들 중에서 우리가 주목해야 할 파일은&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;em&gt;janus.plugin.recordplay.jcfg&lt;/em&gt;&lt;/strong&gt; 입니다.&lt;/p&gt;&#10;&lt;h3 id="파일저장경로-설정"&gt;파일저장경로 설정&lt;/h3&gt;&#10;&lt;p&gt;녹화 플러그인을 사용하려면 일단 설정파일을 확인해주세요.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;janus.plugin.recordplay.jcfg&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;figure class="my-7"&gt;&lt;img src="https://codingjalhaja.com/webrtc/start-webrtc-with-janus4/janus-recordplay-config.png" alt="janus-recordplay-config" loading="lazy" decoding="async" class="rounded-xl border border-slate-200 dark:border-slate-700" &gt;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;이 설정파일에서 &lt;code&gt;path&lt;/code&gt; 는 기본 녹화된 파일들의 저장경로입니다.&lt;/p&gt;</description></item><item><title>[WebRTC] 화상회의 웹서비스 개발하기 (with.janus-gateway) - (3)</title><link>https://codingjalhaja.com/webrtc/start-webrtc-with-janus3/</link><pubDate>Mon, 31 Jul 2023 00:00:00 +0900</pubDate><guid>https://codingjalhaja.com/webrtc/start-webrtc-with-janus3/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://codingjalhaja.com/webrtc/start-webrtc-with-janus2/" &gt;지난번 포스팅&lt;/a&gt;&#10; 에서는 coturn 서버 까지 설치했습니다.&lt;/p&gt;&#10;&lt;p&gt;지난번 포스팅에서 예고한 대로 오늘은 어드민 설정 방법과,&lt;/p&gt;&#10;&lt;p&gt;janus-gateway 비디오룸 설정과 활용 방법에 대하여 서술하겠습니다.&lt;/p&gt;&#10;&lt;p&gt;이 포스팅에서 설정하는 모든 것은 janus-gateway 문서에도 잘 나와있습니다.&lt;/p&gt;&#10;&lt;p&gt;저는 janus-gateway 를 이용한 서비스를 만들때 꼭 필요한 설정 들에 대해서만 서술하겠습니다.&lt;/p&gt;&#10;&lt;h2 id="janus-설정"&gt;janus 설정&lt;/h2&gt;&#10;&lt;p&gt;janus-gateway 를 정상적으로 설치를 했다면&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;/opt/janus/etc/janus&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;위의 경로에 설정 아래와 같은 파일들이 있을겁니다.&lt;/p&gt;&#10;&lt;p&gt;&lt;figure class="my-7"&gt;&lt;img src="https://codingjalhaja.com/webrtc/start-webrtc-with-janus3/janus-setting-files.png" alt="janus-setting-files" loading="lazy" decoding="async" class="rounded-xl border border-slate-200 dark:border-slate-700" &gt;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;우린 이 설정 파일들을 입맛에 맞게 수정해서 사용하면 됩니다.&lt;/p&gt;</description></item><item><title>[WebRTC] 화상회의 웹서비스 개발하기 (with.janus-gateway) - (2)</title><link>https://codingjalhaja.com/webrtc/start-webrtc-with-janus2/</link><pubDate>Sun, 23 Apr 2023 00:00:00 +0900</pubDate><guid>https://codingjalhaja.com/webrtc/start-webrtc-with-janus2/</guid><description>&lt;h2 id="프론트엔드-개발"&gt;프론트엔드 개발&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://codingjalhaja.com/webrtc/start-webrtc-with-janus/" &gt;지난번 포스팅&lt;/a&gt;&#10; 에서는 janus-gateway 서버 까지 설치했습니다.&lt;/p&gt;&#10;&lt;p&gt;이제 서버를 세팅했으니 프론트엔드를 개발해야죠.&lt;/p&gt;&#10;&lt;p&gt;일단 공식 홈페이지에도 잘 나와 있지만 간략하게 더 설명해 드리겠습니다.&lt;/p&gt;&#10;&lt;h3 id="의존성추가"&gt;의존성추가&lt;/h3&gt;&#10;&lt;p&gt;공식 깃허브 리파지토리 html 폴더에 보면 videoroomtest.html 을 보시면 필요한 의존성이 보일 겁니다.&lt;/p&gt;&#10;&lt;p&gt;이거를 복사해서 본인들이 개발할 프론트엔드에 부착하면 일단 의존성은 끝납니다.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;html/videoroomtest.html&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-html" data-lang="html"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;settings.js&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;janus.js&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;text/javascript&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;src&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;videoroomtest.js&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;script&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="로직분석"&gt;로직분석&lt;/h3&gt;&#10;&lt;p&gt;비디오룸 데모 js 소스를 보시면 위에서 추가한 의존성을 활용에서 초기화를 하고 객체를 생성합니다.&lt;/p&gt;&#10;&lt;p&gt;그리고 각 단계에서 콜백으로 많은 작업들을 하는 걸 알 수 있습니다.&lt;/p&gt;</description></item><item><title>[WebRTC] 화상회의 웹서비스 개발하기 (with.janus-gateway) - (1)</title><link>https://codingjalhaja.com/webrtc/start-webrtc-with-janus/</link><pubDate>Tue, 24 Jan 2023 00:00:00 +0900</pubDate><guid>https://codingjalhaja.com/webrtc/start-webrtc-with-janus/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;&#10;&lt;p&gt;오늘날 화상회의는 업무에 필수적인 요소로 자리 잡게 되었습니다.&lt;/p&gt;&#10;&lt;p&gt;코로나 시대에 접어 들면서, 기업들의 재택근무는 가속화 되었고, 재택근무를 하기 위한 필수요소인&lt;/p&gt;&#10;&lt;p&gt;화상회의 서비스의 대한 수요는 꾸준히 증가했고, 그에따른 서비스들도 우후죽순 생겨나게 되었습니다.&lt;/p&gt;&#10;&lt;p&gt;줌(zoom), 마이크로소프트 팀즈(microsoft teams), 구글 미트(google meet) 등등&lt;/p&gt;&#10;&lt;p&gt;유명한 빅테크 기업들의 화상회의 서비스는 나무랄데 없이 매우 훌륭합니다.&lt;/p&gt;&#10;&lt;p&gt;하지만 비용 문제라던지, 보안 문제라던지 등등 자신만의 화상회의 서비스를 구축 하고자 하는 수요 또한 많이 생겨나게 되었습니다.&lt;/p&gt;&#10;&lt;p&gt;지금도 자신만의 webrtc 서버를 구축해서 화상회의를 구축하고자 하는 수요도 분명 많을 것으로 생각됩니다.&lt;/p&gt;</description></item></channel></rss>