<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 30, 2023 at 11:06 PM Ross Finlayson <<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
> On Mar 31, 2023, at 4:45 AM, Milos Jakovljevic <<a href="mailto:milos.jakovljevic@nittbit.com" target="_blank">milos.jakovljevic@nittbit.com</a>> wrote:<br>
> <br>
> Hi everyone,<br>
> <br>
> I'm receiving a 4K HEVC stream from the remote server. All the NAL units seem to be fragments but for some reason NAL type is always either 1 or 19 apart from Non-VCL types. <br>
> <br>
> I'm trying to figure out how I would recognize if its a fragment ? Am i missing something?<br>
<br>
Your question was rather vague - you don’t explain exactly how you’re using the “LIVE555 Streaming Media” code. But from the context, I presume that you’re using it as a RTSP client, rather than as a RTSP server.<br>
<br>
Note that the LIVE555 RTSP/RTP implementation automatically handles fragmentation/defragmentation of H.264 (and H.265) NAL units into RTP packets - at both the server end and the client end. As a programmer, you don’t need to concern yourself with RTP fragmentation. The LIVE555 RTSP client code will deliver complete NAL units - so that’s what you should be receiving: Complete NAL units (which might include video frame ‘slices’ - not necessarily complete video frames).<br>
<br>
A reminder that if you’re testing the LIVE555 RTSP client implementation against a remote RTSP stream (whether or not its server is also written using the LIVE555 code), then the best way to begin is using our command-line “openRTSP” RTSP client; see<br>
<a href="http://live555.com/openRTSP/" rel="noreferrer" target="_blank">http://live555.com/openRTSP/</a><br>
<br>
<br>
(You can also use VLC - as it uses the LIVE555 code (when acting as a RTSP client) - but the “openRTSP” code is easier to understand.)<br>
<br>
Ross Finlayson<br>
Live Networks, Inc.<br>
<a href="http://www.live555.com/" rel="noreferrer" target="_blank">http://www.live555.com/</a><br>
<br>
<br>
_______________________________________________<br>
live-devel mailing list<br>
<a href="mailto:live-devel@lists.live555.com" target="_blank">live-devel@lists.live555.com</a><br>
<a href="http://lists.live555.com/mailman/listinfo/live-devel" rel="noreferrer" target="_blank">http://lists.live555.com/mailman/listinfo/live-devel</a></blockquote><div><br></div><div>Hi Ross,<br><br>Thank you for your response. I wanted to provide more details regarding the issue I'm facing.<br><br>I'm currently using LIVE555 as an RTSP client in my library, and I'm experiencing an issue with HEVC 4K streams. Specifically, when I decode NAL units, I'm only able to view 1/3 of the picture, while the remaining 2/3 is green (you can view an example here: <a href="https://ibb.co/C8yFygm">https://ibb.co/C8yFygm</a>).<br><br>Upon further investigation, I discovered that I'm receiving three NAL units with the same timestamp, which I assume are fragments of the same picture. However, I'm having trouble figuring out how to recognize if the NAL units are fragments and how to merge them before sending them to the decoder.<br><br>Below is the example output of the sink:<br><br>nal unit type: 32 layer id: 0 ts: 1680258047669<br>nal unit type: 33 layer id: 1 ts: 1680258047669<br>nal unit type: 34 layer id: 0 ts: 1680258047669<br>nal unit type: 19 layer id: 1 ts: 1680258047669<br>nal unit type: 19 layer id: 1 ts: 1680258047669<br>nal unit type: 19 layer id: 1 ts: 1680258047669<br>nal unit type: 1 layer id: 1 ts: 1680258047749<br>nal unit type: 1 layer id: 1 ts: 1680258047749<br>nal unit type: 1 layer id: 1 ts: 1680258047749<br>nal unit type: 1 layer id: 1 ts: 1680258047829<br>nal unit type: 1 layer id: 1 ts: 1680258047829<br>nal unit type: 1 layer id: 1 ts: 1680258047829<br>nal unit type: 1 layer id: 1 ts: 1680258047909<br>nal unit type: 1 layer id: 1 ts: 1680258047909<br>nal unit type: 1 layer id: 1 ts: 1680258047909<br>nal unit type: 1 layer id: 1 ts: 1680258047989<br>nal unit type: 1 layer id: 1 ts: 1680258047989<br>nal unit type: 1 layer id: 1 ts: 1680258047989<br>nal unit type: 1 layer id: 1 ts: 1680258048069<br>nal unit type: 1 layer id: 1 ts: 1680258048069<br>nal unit type: 1 layer id: 1 ts: 1680258048069<br><br>If you have any insight or suggestions on how I can resolve this issue, please let me know.<br><br>Thank you for your time and assistance.<br><br>Best regards,<br>Milos<br></div></div></div>