извлечь каждый кадр из потока RTSP (MP4) - PullRequest
0 голосов
/ 28 октября 2011

Я пытаюсь извлечь каждый кадр из потока rtsp mp4 и преобразовать его в jpeg / gif с помощью ffmpeg.Я получаю заголовок sdp из 000001b0.....000001b5 и добавляю его в байтовый массив, затем захватывая кадр начиная с 000001b6 и добавляя его в байтовый массив.

Когда я сбрасываю его в файл (.mpg) и использую ffmpeg, он выдает ошибки, а не конвертирует.мой заголовок выглядит как 000001B008000001B58913000001000000012000C488BA98514043C1463F и после этого я добавляю кадр (начиная с 000001b6).

Ответы [ 2 ]

0 голосов
/ 12 декабря 2012

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

Это называется депакетированием, и MPEG4-ES не имеет модели пакетирования ... H264 имеет много в зависимости от профиля.

Проверьте RFC ..

Вам могут помочь 3016 или 3640.

http://tools.ietf.org/html/rfc3640

http://tools.ietf.org/html/rfc3016

0 голосов
/ 07 февраля 2012

Я сделал нечто подобное с FFMPEG, и кажется, что данные кадра, которые вы получаете от FFMPEG, уже содержат заголовок кадра, который является всем, что вам нужно для перекодирования данных. Убедитесь, что вы декодируете данные mp4 в необработанный формат (например, RGB24), а затем кодируете их в пиксельном формате, ожидаемом кодировщиком JPEG / GIF (вероятно, в формате YUV), используя libswscale, перед передачей данных в кодировщик. *

...