<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="169916" data-post-id="169916">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="smolcatgirl" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  smolcatgirl
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thats a a pleasure to know! Thank you!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="169916" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/32">Post #31</a>
	                </div>
	            </div>
              <div id="likers-container-169916" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="169916"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #31"></div>
  </section>
</div>
    <div class="postbit" id="171334" data-post-id="171334">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="maxlapshin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/maxlapshin/120/3220_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  maxlapshin
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>WebRTC will require:</p>
<ol>
<li>signalling (easiest part)</li>
<li>ICE</li>
<li>DTLS (integrated with SRTP)</li>
<li>SRTP (integrated with DTLS)</li>
</ol>
<p>DTLS is the most complicated thing, I don’t know if latest code in erlang can already do this, we have our own implementation of DTLS.</p>
<p>Our rust code just uses openssl implementation, it works, but in flussonic we have implementation in erlang. Source code for dtls is somewhere there in the internet, it is possible to find it.</p>
<p>2-3 months is very optimistic, you are really cool guys if you will do it in this time =)</p>
<p>If you refuse from adaptive bitrate control (you should postpone this thing) and other extended features, it is possible to do it before you will be pissed off by it.</p>
<p>From all our protocols (rtmp, rtsp, hls, dash, mss, mpegts, h323, sip), webrtc was most painful to implement.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="171334" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-171334" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="171334"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="171337" data-post-id="171337">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mspanc" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mspanc/120/2877_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mspanc
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Membrane Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>The summary is correct.</p>
<p>We have run into some issues with DTLS in latest Erlang and we have to rely on some hacks and external C code to make it work. We will consider backporting the changes to the erlang core but we don’t want to wait for the release and force users to use the most recent Erlang version so for some time we will probably stay as it is.</p>
<p>We started a while ago and these 2-3 months are essentialy time to assemble all these parts together, not to build this from scratch. Keep fingers crossed <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="171337" data-batch-url="/posts/batch_likers">
                        9
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-171337" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="171337"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
    <div class="postbit" id="173800" data-post-id="173800">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="namor" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/namor/120/9598_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  namor
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Amazing work with membrane. I’m just about to start a project and this “starter kit” sounds like the perfect tool to learn more about both janus and membrane.</p>
<p>Have you guys released the starter kit yet?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="173800" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/36">Post #35</a>
	                </div>
	            </div>
              <div id="likers-container-173800" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="173800"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #35"></div>
  </section>
</div>
    <div class="postbit" id="174288" data-post-id="174288">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="tomekzawada" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/tomekzawada/120/17628_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  tomekzawada
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Membrane Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello, there!<br>
Membrane Core 0.5.1 is out, and stable!</p>
<aside class="onebox githubrepo" data-onebox-src="https://github.com/membraneframework/membrane_core">
  <header class="source">

      <a href="https://github.com/membraneframework/membrane_core" target="_blank" rel="noopener nofollow ugc">github.com</a>
  </header>

  <article class="onebox-body">
    <div class="github-row" data-github-private-repo="false">
  <img width="690" height="344" src="https://opengraph.githubassets.com/a723032cc2df26f1fcf5b981244a619d/membraneframework/membrane_core" class="thumbnail">

  <h3><a href="https://github.com/membraneframework/membrane_core" target="_blank" rel="noopener nofollow ugc">GitHub - membraneframework/membrane_core: The core of Membrane Framework, multimedia...</a></h3>

    <p><span class="github-repo-description">The core of Membrane Framework, multimedia processing framework written in Elixir</span></p>
</div>

  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

<p>Enjoy!</p>
<p>Tomasz Zawada<br>
<a href="http://membraneframework.org/" rel="noopener nofollow ugc">membraneframework.org </a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="174288" data-batch-url="/posts/batch_likers">
                        6
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/37">Post #36</a>
	                </div>
	            </div>
              <div id="likers-container-174288" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="174288"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #36"></div>
  </section>
</div>
    <div class="postbit" id="175097" data-post-id="175097">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="smolcatgirl" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  smolcatgirl
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi, I was happy when I read this but I havent seen any updates on it. If I missed something, would you share a link? Also what would I do if I aint sure of the format in the video file? Could I do choose the demuxer depending on the codecs in the file etc?<br>
Thanks</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="175097" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/38">Post #37</a>
	                </div>
	            </div>
              <div id="likers-container-175097" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="175097"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #37"></div>
  </section>
</div>
    <div class="postbit" id="176187" data-post-id="176187">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mat-hek" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mat-hek/120/38168_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mat-hek
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Membrane Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/smolcatgirl" rel="nofollow">@smolcatgirl</a>, we’ve been having lots on our heads recently, and it’s taking longer than expected… nevertheless, we have just released <a href="https://hexdocs.pm/membrane_http_adaptive_stream_plugin" rel="noopener nofollow ugc">HTTP Adaptive Stream plugin</a> that supports streaming via HLS <img src="https://forum.elixirforum.com/images/emoji/apple/tada.png?v=15" title=":tada:" class="emoji" alt=":tada:" loading="lazy" width="20" height="20"> However, note that this expects the stream already muxed to <a href="https://www.wowza.com/blog/what-is-cmaf" rel="noopener nofollow ugc">CMAF</a>. The plugin doing the muxing is still under refactor, you can track the progress <a href="https://github.com/membraneframework/membrane_cmaf_plugin/tree/develop" rel="noopener nofollow ugc">here</a>.</p>
<p>I’d also like to note we have just released libopus-based <a href="https://hexdocs.pm/membrane_opus_plugin/readme.html" rel="noopener nofollow ugc">Opus decoder</a>, yet another component needed for WebRTC.</p>
<blockquote>
<p>Also what would I do if I aint sure of the format in the video file? Could I do choose the demuxer depending on the codecs in the file etc?</p>
</blockquote>
<p>You could, but Membrane doesn’t provide a transparent way to do that, you’d need to implement the choosing part or do some preprocessing with another tool, like FFmpeg.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="176187" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/39">Post #38</a>
	                </div>
	            </div>
              <div id="likers-container-176187" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="176187"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #38"></div>
  </section>
</div>
    <div class="postbit" id="176188" data-post-id="176188">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="smolcatgirl" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  smolcatgirl
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thank for your reply! :3</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="176188" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/40">Post #39</a>
	                </div>
	            </div>
              <div id="likers-container-176188" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="176188"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #39"></div>
  </section>
</div>
    <div class="postbit" id="182237" data-post-id="182237">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="maxlapshin" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/maxlapshin/120/3220_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  maxlapshin
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>JFYI: <a href="https://github.com/flussonic/v4l-erl" class="inline-onebox" rel="noopener nofollow ugc">GitHub - flussonic/v4l-erl: v4l2 implementation for erlang. Simple and working. · GitHub</a></p>
<p>This may be a part of capture process. We use it to capture SDI cards.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="182237" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/41">Post #40</a>
	                </div>
	            </div>
              <div id="likers-container-182237" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="182237"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #40"></div>
  </section>
</div>
    <div class="postbit" id="183744" data-post-id="183744">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="mat-hek" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/mat-hek/120/38168_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  mat-hek
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Membrane Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi there, it’s finally time to announce that Membrane supports HLS <img src="https://forum.elixirforum.com/images/emoji/apple/tada.png?v=15" title=":tada:" class="emoji" alt=":tada:" loading="lazy" width="20" height="20"> We finished all the needed plugins and prepared a <a href="https://github.com/membraneframework/membrane-demo/tree/master/rtp_to_hls" rel="noopener nofollow ugc">demo</a> of retrieving RTP stream and publishing it via HLS. <a class="mention" href="/u/kanes115" rel="nofollow">@kanes115</a> described how we used it to create a streaming platform in <a href="https://blog.swmansion.com/live-video-streaming-in-elixir-made-simple-with-membrane-fc5b2083982d" rel="noopener nofollow ugc">this blog post</a>. Enjoy <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="183744" data-batch-url="/posts/batch_likers">
                        7
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/membrane-a-new-framework-for-multimedia-processing/15367/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-183744" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="183744"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #41"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/15367/load_more?page=5">Load more posts (7 remaining)</a>
</div></template></turbo-stream>