#ffmpeg #video-streaming #h.264
#ffmpeg #потоковое видео #h.264
Вопрос:
Я пытаюсь передать видео другому клиенту (видеозвонок), используя библиотеку ffmpeg и кодировщик — libx264, декодер — h264. Для этого у меня есть одна «основная» библиотека, которая используется в двух клиентах.
На отправителе:
-
- закодируйте AVFrame и получите AVPacket;
-
- преобразуйте AVPacket.data в массив байтов и длину для передачи (для отладки я сохраняю этот массив байтов в файл).
На приемнике:
-
- сохранить полученный массив байтов в файл;
-
- получаем AVPacket из этого массива байтов;
-
- декодируйте AVPacket в AVFrame.
Результат этого: массив файлов (сохраненный byte_array), который равен для отправителя и получателя, но некоторые кадры отличаются (какая-то часть кадра на приемнике повреждена). Вот так:
Какова возможная причина этого?
Комментарии:
1. Как вы передаете свой поток? RTP, UDP, TCP или что-то еще?
2. @MarkusSchumann протокол rtp