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


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Cameras (at least the ones I’ve run into) usually have them, but I’m not sure in this particular case. That’s why I suggested <a class="mention" href="/u/connorrigby" rel="nofollow">@ConnorRigby</a> to print the size of frames. But suppose RTSP source is supplying the desired RTP packets, SPS/PPS will come in single packet which probably translates to a single video frame, is Membrane smart enough to realize they are not picture frames, and wait for the next picture frame to arrive before calling ffmpeg to decode?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160341" 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-rtsp-source/28461/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-160341" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160341"
                     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 #21"></div>
  </section>
</div>
    <div class="postbit" id="160344" data-post-id="160344">
  <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>Membrane just extracts the stream from RTP and passes it to the decoder. That’s a usual situation that PPS and SPS come before picture frames and the decoder seems to handle that well. <a class="mention" href="/u/connorrigby" rel="nofollow">@ConnorRigby</a>, can you please share some PCAP, so I can have a look?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160344" 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-rtsp-source/28461/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-160344" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160344"
                     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 #22"></div>
  </section>
</div>
    <div class="postbit" id="160345" data-post-id="160345">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ConnorRigby" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ConnorRigby/120/5964_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ConnorRigby
                    <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>Nerves Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/mat-hek" rel="nofollow">@mat-hek</a> <a href="https://drive.google.com/drive/folders/13GLiYTTZ5LebnyHp24eRai_nTdQGsCOr?usp=sharing" rel="noopener nofollow ugc">here</a> is a couple of pcaps. The file <code>vlc</code> is a successful stream, <code>membrane</code> is the membrane stream.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160345" 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-rtsp-source/28461/24">Post #23</a>
	                </div>
	            </div>
              <div id="likers-container-160345" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160345"
                     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 #23"></div>
  </section>
</div>
    <div class="postbit" id="160346" data-post-id="160346">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ConnorRigby" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ConnorRigby/120/5964_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ConnorRigby
                    <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>Nerves Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>From a quick search through RFC 6185, it seems like the <code>sprop-parameter-sets</code> parameter probably has the SPS frames.</p>
<p>Update:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">iex(3)&gt; String.split(str, ",")
["Z2QAKaw0yAeAIn5cBbgICAoAAAfSAAHUwdDAAB8/6AAAfP+Fd5caGAAD5/0AAA+f8K7y4b6g",
 "aO48MA=="]
iex(4)&gt; String.split(str, ",") |&gt; Enum.map(&amp;Base.decode64!/1)
[
  &lt;&lt;103, 100, 0, 41, 172, 52, 200, 7, 128, 34, 126, 92, 5, 184, 8, 8, 10, 0, 0,
    7, 210, 0, 1, 212, 193, 208, 192, 0, 31, 63, 232, 0, 0, 124, 255, 133, 119,
    151, 26, 24, 0, 3, 231, 253, 0, 0, 15, 159, 240, ...&gt;&gt;,
  &lt;&lt;104, 238, 60, 48&gt;&gt;
]
iex(5)&gt; [a, b] = String.split(str, ",") |&gt; Enum.map(&amp;Base.decode64!/1)
[
  &lt;&lt;103, 100, 0, 41, 172, 52, 200, 7, 128, 34, 126, 92, 5, 184, 8, 8, 10, 0, 0,
    7, 210, 0, 1, 212, 193, 208, 192, 0, 31, 63, 232, 0, 0, 124, 255, 133, 119,
    151, 26, 24, 0, 3, 231, 253, 0, 0, 15, 159, 240, ...&gt;&gt;,
  &lt;&lt;104, 238, 60, 48&gt;&gt;
]
iex(6)&gt; NAL.Header.parse_unit_header(a)                                                          
{:ok,
 {%Membrane.Element.RTP.H264.NAL.Header{nal_ref_idc: 3, type: 7},
  &lt;&lt;100, 0, 41, 172, 52, 200, 7, 128, 34, 126, 92, 5, 184, 8, 8, 10, 0, 0, 7,
    210, 0, 1, 212, 193, 208, 192, 0, 31, 63, 232, 0, 0, 124, 255, 133, 119,
    151, 26, 24, 0, 3, 231, 253, 0, 0, 15, ...&gt;&gt;}}
iex(7)&gt; NAL.Header.parse_unit_header(b)
{:ok,
 {%Membrane.Element.RTP.H264.NAL.Header{nal_ref_idc: 3, type: 8},
  &lt;&lt;238, 60, 48&gt;&gt;}}
iex(8)&gt; {:ok, {header, _}} = NAL.Header.parse_unit_header(a)
{:ok,
 {%Membrane.Element.RTP.H264.NAL.Header{nal_ref_idc: 3, type: 7},
  &lt;&lt;100, 0, 41, 172, 52, 200, 7, 128, 34, 126, 92, 5, 184, 8, 8, 10, 0, 0, 7,
    210, 0, 1, 212, 193, 208, 192, 0, 31, 63, 232, 0, 0, 124, 255, 133, 119,
    151, 26, 24, 0, 3, 231, 253, 0, 0, 15, ...&gt;&gt;}}
iex(9)&gt; NAL.Header.decode_type(header)                      
:single_nalu
iex(10)&gt; 
</code></pre>
<p>i decoded the data in this parameter and it seems to contain h264 data. I think if this data is sent to ffmpeg before the other data, the stream would work.</p>
<p><a class="mention" href="/u/mat-hek" rel="nofollow">@mat-hek</a> is there a way that a source can “skip” stages? This data needs to skip the rtp decoding and jump straight to the h264 depayloader before the stream is started</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160346" 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-rtsp-source/28461/25">Post #24</a>
	                </div>
	            </div>
              <div id="likers-container-160346" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160346"
                     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 #24"></div>
  </section>
</div>
    <div class="postbit" id="160647" data-post-id="160647">
  <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>There’s no straightforward way to ‘skip stages’ in membrane. Imho the best option would be to make disector send SPS/PPS via notification to the pipeline, store them in the state and pass to the decoder via options <a href="https://github.com/membraneframework/membrane-demo/blob/master/rtp/lib/demo_bin/rtp_pipeline.ex#L44" rel="noopener nofollow ugc">upon spawning</a>. It would require the decoder to support passing SPS/PPS via options, but that should be quite easy 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="160647" 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-rtsp-source/28461/26">Post #25</a>
	                </div>
	            </div>
              <div id="likers-container-160647" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160647"
                     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 #25"></div>
  </section>
</div>
    <div class="postbit" id="160697" data-post-id="160697">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ConnorRigby" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ConnorRigby/120/5964_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ConnorRigby
                    <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>Nerves Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks. I’ll try that out. I hacked some things together and i ran into a different error, but let me try building it out the “correct” way first.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160697" 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-rtsp-source/28461/27">Post #26</a>
	                </div>
	            </div>
              <div id="likers-container-160697" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160697"
                     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 #26"></div>
  </section>
</div>
    <div class="postbit" id="160733" data-post-id="160733">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ConnorRigby" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ConnorRigby/120/5964_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ConnorRigby
                    <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>Nerves Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a class="mention" href="/u/mat-hek" rel="nofollow">@mat-hek</a> should should <a href="https://github.com/membraneframework/membrane-element-ffmpeg-h264/blob/45ea44f6b43757940e6334e4956c2f5bc4ef325f/c_src/membrane_element_ffmpeg_h264/decoder.c#L148" rel="noopener nofollow ugc">pix_fmt</a> be automatically detected somehow? i’ve tried sending the SPS and PPS values to the <code>decoder</code> before the frames come in, but i’m still getting a <code>send_pkt</code> error.</p>
<p>Update:<br>
i’ve managed to get by the <code>send_pkt</code> error, but it looks like my camera’s pixel format is unsupported by membrane_element_ffmpeg currently. the format returned seems to be <code>AV_PIX_FMT_YUVJ420P</code> which is an old format superseded by <code>AV_PIX_FMT_YUV420P</code> which <strong>is</strong> supported</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160733" 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-rtsp-source/28461/28">Post #27</a>
	                </div>
	            </div>
              <div id="likers-container-160733" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160733"
                     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 #27"></div>
  </section>
</div>
    <div class="postbit" id="160834" data-post-id="160834">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ConnorRigby" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ConnorRigby/120/5964_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ConnorRigby
                    <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>Nerves Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>another update:<br>
Finally got some video from the camera with some modifications to the ffmpeg element. I’m still getting tons of:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">[h264 @ 0x7f2f5c02e080] non-existing PPS 0 referenced
</code></pre>
<p>even though i’ve sent (what i believe to be) the pps frame. The video renders and runs smooth, but that message is beyond irritating, so i’d like to fix it if possible. Any ideas?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160834" 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-rtsp-source/28461/29">Post #28</a>
	                </div>
	            </div>
              <div id="likers-container-160834" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160834"
                     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 #28"></div>
  </section>
</div>
    <div class="postbit" id="160837" data-post-id="160837">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Just jumping in to say I’m really enjoying the thread and even more the tenacity by both of your to get this thing going!</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160837" 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-rtsp-source/28461/30">Post #29</a>
	                </div>
	            </div>
              <div id="likers-container-160837" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160837"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-most-liked cat-most-liked" title="One of the top 3 liked posts in this thread!"></div>
  </section>
</div>
    <div class="postbit" id="160850" data-post-id="160850">
  <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>That error may be printed out by the h264 parser, that is also based on FFmpeg (pure elixir implementation in progress). This can be fixed by passing parameter sets to the parser instead of the decoder.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="160850" 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-rtsp-source/28461/31">Post #30</a>
	                </div>
	            </div>
              <div id="likers-container-160850" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="160850"
                     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 #30"></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/28461/load_more?page=4">Load more posts (14 remaining)</a>
</div></template></turbo-stream>