2015-09-23 2 views
-1

Я использую live555 для приема видеофрагмента RTP (кадр, закодированный в H264). Я использую Live555, чтобы открыть данные локального файла .sdp. Я только что видел DummySink :: afterGettingFrame был вызван беспрерывно. Если fReceiveBuffer в DummySink верен, почему FFMPEG не может декодировать фрейм? Мой код неправильный?Почему мое приложение не может декодировать поток RTSP?

Вот мой код сниппета: http://paste.ubuntu.com/12529740/

функция avcodec_decode_video2 всегда возвращает неуспешные, его значение меньше нуля

fReceiveBuffer присутствует один видеокадр

О, вот мой FFMPEG init необходимо открыть соответствующий видеодекодер: http://paste.ubuntu.com/12529760/

+0

Пожалуйста, попросите понять ваш вопрос. Опишите, что вы уже пробовали. Сделайте подход понятным для нас. –

+0

@SebastianAnnies Наконец, я нахожу решение вопроса. Спасибо, что напомнили мне об этом –

ответ

0

Я прочитал документ, связанный с H264 снова, Я выяснил, что I-frame (IDR) требуется SPS/PPS, разделенный вставкой 0x00000001 в заголовок, и декодер имеет возможность правильно декодировать фрейм. Вот Другие решения FFmpeg can't decode H264 stream/frame data

Decoding h264 frames from RTP stream

и теперь, мое приложение работает нормально, он может декодировать кадр и преобразовать его в экранные изображения для отображения на экран.

 Смежные вопросы

  • Нет связанных вопросов^_^