0
votes

I'm receiving rtp packets with JPEG payload with VLC. When I mannually setup the type to 26 (JPEG), vlc doesn't try open the stream; if I define it as 96, vlc opens it and displays it wrong - that is due to malformed encoding.

To find out the correct encoding, i.e to find out what values of packet headers are correct, i want to compare the rtp packets with working example. Surprisingly, example uses payload type 96 instead of 26. I user wireshark to observe the headres; if works fine with payload type 26 RTp/JPEG, but I can't force it to decode 96-type rtp packet as 26-type rtp packet to observe JPEG headers of the working example; how can I do this? May be there are other tools to browse PEg/RTP headers without any coding?

1
I don't think Wireshark decodes payload content, only network headers.Matthieu
But actually, Wireshark decodes payload headers too, at least for payloead type 26 it displays the packet type as jpeg and shows jpeg header values (width, height, q and so on) and restart header. But... if only the payload type is set explicitly. I can force Wireshark to try to decode any udp packet as rtp (in the manner you answered in previous question), but I can't force to decode the payload. JPEG payload type exists in the total protocols list, but not in protocols available for decode list :(Ilya Yevlampiev
Have you tried to open the stream with ffmpeg ? At least you will get a better understanding of the problemHaneTV

1 Answers

1
votes

Payload type 26 is MJPEG and wireshark parses these packets like a charm. Payload type more than 96 are dynamic types, there is no reason to stream MJPEG with type 96. What is the source of media? Did you check the type of stream there?

Probably type 96 means h263 or h264 video stream, many cameras do like this. As far as I know, Wireshark cannot decode h264 header/payload.