ffmpeg .264 конвертация видео в jpg - PullRequest
0 голосов
/ 27 июня 2018

Я погуглил, но не смог найти правильного ответа. Так что я публикую здесь.

Я пытаюсь преобразовать изображения из видео IP-камеры, которые хранятся в формате .264. Я дал эту команду для преобразования:

ffmpeg -i P1234_5665.264 -an -ss 2 -s 1280x720 test1.jpg

Не конвертируется и выдает ошибку:

[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 00863fc0] non-existing PPS 0 referenced
[h264 @ 00863fc0] decode_slice_header error
[h264 @ 00863fc0] no frame!
[h264 @ 0081f740] decoding for stream 0 failed
[h264 @ 0081f740] Could not find codec parameters for stream 0 (Video: h264 (Mai
n), none(progressive)): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, h264, from 'P1234_5665.264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (Main), none(progressive), 25 fps, 25 tbr, 1200k tb
n, 50 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Error while opening decoder for input stream #0:0 : Invalid data found when proc
essing input

Что я делаю не так?

1 Ответ

0 голосов
/ 28 июня 2018

Основная проблема в том, что в вашем файле .264 отсутствует набор параметров изображения (PPS) в начале. PPS - это специальный блок H.264 NAL («пакет»), который содержит необходимую информацию для декодирования следующих пакетов.

Вы должны проверить, как создается файл .264. Во многих потоках H.264 PPS (и SPS, «набор параметров последовательности») передаются перед каждым I-кадром. Но в некоторых тоже нет, например. IP-камера может отправлять эту информацию только как RTSP DESCRIBE в данных SDP .

...