Получение разных кадров из одного файла (кодек H264)

#ffmpeg #video-streaming #h.264

#ffmpeg #потоковое видео #h.264

Вопрос:

Я пытаюсь передать видео другому клиенту (видеозвонок), используя библиотеку ffmpeg и кодировщик — libx264, декодер — h264. Для этого у меня есть одна «основная» библиотека, которая используется в двух клиентах.

На отправителе:

    1. закодируйте AVFrame и получите AVPacket;
    1. преобразуйте AVPacket.data в массив байтов и длину для передачи (для отладки я сохраняю этот массив байтов в файл).

На приемнике:

    1. сохранить полученный массив байтов в файл;
    1. получаем AVPacket из этого массива байтов;
    1. декодируйте AVPacket в AVFrame.

Результат этого: массив файлов (сохраненный byte_array), который равен для отправителя и получателя, но некоторые кадры отличаются (какая-то часть кадра на приемнике повреждена). Вот так:Поврежденный кадр

Какова возможная причина этого?

Комментарии:

1. Как вы передаете свой поток? RTP, UDP, TCP или что-то еще?

2. @MarkusSchumann протокол rtp