Как получить разрешение видеопотока h264

Я делаю SIP-клиент и с ним какие-то проблемы. Я приглашаю пользователя через SIP-сервер, и получаю от него параметры SDP. Однако пользовательский клиент (MicroSip) не отправлял sdprop-params в SDP. Более того, он также не отправлял срезы SPS / PPS в потоке RTP.

Как таким образом получить параметры изображения?

Дамп Wireshark

        Session Description Protocol
            Session Description Protocol Version (v): 0
            Owner/Creator, Session Id (o): - 1516869540 1516869540 IN IP4 172.16.50.175
            Session Name (s): mss
            Connection Information (c): IN IP4 172.16.50.175
            Time Description, active time (t): 0 0
            Media Description, name and address (m): audio 4000 RTP/AVP 97 100
            Connection Information (c): IN IP4 172.16.50.175
            Media Attribute (a): rtcp:4001 IN IP4 172.16.50.175
                Media Attribute Fieldname: rtcp
                Media Attribute Value: 4001 IN IP4 172.16.50.175
            Media Attribute (a): sendrecv
            Media Attribute (a): rtpmap:97 opus/48000/2
                Media Attribute Fieldname: rtpmap
                Media Format: 97
                MIME Type: opus
                Sample Rate: 48000
            Media Attribute (a): fmtp:97 maxplaybackrate=24000
                Media Attribute Fieldname: fmtp
                Media Format: 97 [opus]
                Media format specific parameters: maxplaybackrate=24000
            Media Attribute (a): rtpmap:100 telephone-event/8000
                Media Attribute Fieldname: rtpmap
                Media Format: 100
                MIME Type: telephone-event
                Sample Rate: 8000
            Media Attribute (a): fmtp:100 0-16
                Media Attribute Fieldname: fmtp
                Media Format: 100 [telephone-event]
                Media format specific parameters: 0-16
            Media Description, name and address (m): video 4002 RTP/AVP 97
            Connection Information (c): IN IP4 172.16.50.175
            Media Attribute (a): rtcp:4003 IN IP4 172.16.50.175
                Media Attribute Fieldname: rtcp
                Media Attribute Value: 4003 IN IP4 172.16.50.175
            Media Attribute (a): sendrecv
            Media Attribute (a): rtpmap:97 H264/90000
                Media Attribute Fieldname: rtpmap
                Media Format: 97
                MIME Type: H264
                Sample Rate: 90000
            Media Attribute (a): fmtp:97 profile-level-id=42801e; packetization-mode=0
                Media Attribute Fieldname: fmtp
                Media Format: 97 [H264]
                Media format specific parameters: profile-level-id=42801e
                    Profile: 42801e
                Media format specific parameters: packetization-mode=0
                    [Packetization mode: Single NAL mode (0)]

person Alexandr Lukovnikov    schedule 25.01.2018    source источник


Ответы (2)


Клиент отправляет срез SPS / PPS каждые 1 секунду, нужно подождать.

person Alexandr Lukovnikov    schedule 26.01.2018

SPS / PPS могут быть отправлены только при запуске и никогда больше в зависимости от отправителя видео. например Видеотелефоны Polycom VVX

Из SDP вы можете найти только максимальную скорость передачи данных на основе значения Profile, которое ограничит можно получить. Обратите внимание, я сказал

Значение профиля 42801e:

Таким образом, это будет определять максимальный битрейт и возможные разрешения на основе этого битрейта, поддерживаемого уровнем, а также то, какие функции H264 поддерживаются профилем (CBP).

Чтобы принудительно отправить вам SPS / PPS, можно отправить команду управления мультимедиа отправителю видео в соответствии с RFC5168. Вы должны отправить один из них, когда вы обнаруживаете потерянные пакеты или если пользователь запрашивает его (т.е. пользователь видит поврежденное изображение и указывает, что он хочет обновления). Вы можете отправлять их на регулярной основе, если хотите.

person Shane Powell    schedule 07.02.2018