Я сохранил видеозвонок в файл .pcap с помощью Wireshark и хочу получить видео из RTP-пакетов. Тип полезной нагрузки пакетов RTP: vp8, Я мог узнать пакеты RTP vp8, используя библиотеку libpcap в C ++. Затем я сохранил содержимое всех пакетов RTP vp8 в файл. Но я не могу преобразовать эти необработанные данные vp8 в .mp4 с помощью ffmpeg. ffmpeg выдает ошибку при конвертации. Ошибка преобразования ffmpeg: При обработке ввода найдены неверные данные
Какие шаги, чтобы получить .mp4 или же .WebM видеофайл из vp8 RTP пакетов?
Редактировать: я мог бы получить необработанные данные VP8, исключая дескриптор полезной нагрузки VP8, заголовок полезной нагрузки и заголовок ключевого кадра. Затем я добавил заголовок ivf и заголовок кадра для каждого необработанного кадра vp8, в соответствии с документом ivf
Документ ЭКО
Но когда я хочу преобразовать свой файл ivf (output1) в output1.mp4 с помощью ffmpeg
ffmpeg -i output1 -c: v vp8 output1.mp4
Я получаю ошибки
JanusGateway имеет функциональность для преобразования RTP (VP8 / VP9 / H264 / Opus) в (WebM / MP4). Он будет просто кодировать RTP в соответствующий контейнер (webm / mp4 / opus), транскодер не включен.
Ты можешь использовать ffmpeg
перекодировать его в любой другой формат.
Короче говоря, Янус будет хранить Пакеты RTP в файле, добавляя заголовок префикса в каждом пакете. Затем мы можем использовать постпроцессор для преобразования RTP-пакетов vp8 в webm.
https://github.com/meetecho/janus-gateway/blob/master/postprocessing/pp-webm.c
Вы можете увидеть вживую демонстрация & Документация.
Других решений пока нет …