-1

У меня есть большой файл, потоковое видео h264 из системы видеонаблюдения. Я анализирую этот файл с помощью ffprobe, и результат таков:

[h264 @ 0000000002d24480] no frame!
[h264 @ 0000000002d24480] non-existing PPS 0 referenced Last message repeated 1 times
[h264 @ 0000000002d24480] decode_slice_header error 
[h264 @ 0000000002d24480] no frame!
[h264 @ 0000000002d24480] non-existing PPS 0 referenced Last message repeated 1 times
[h264 @ 0000000002d24480] decode_slice_header error
[h264 @ 0000000002d24480] no frame!
[h264 @ 0000000002d24480] non-existing PPS 0 referenced Last message repeated 1 times
[h264 @ 0000000002d24480] decode_slice_header error
[h264 @ 0000000002d24480] no frame!
[h264 @ 0000000002d24480] non-existing PPS 0 referenced Last message repeated 1 times 
[h264 @ 0000000002d24480] decode_slice_header error
[h264 @ 0000000002d24480] no frame!
[h264 @ 0000000002d24480] concealing 890 DC, 890 AC, 890 MV errors in I frame 
[h264 @ 0000000002d24480] sps_id 1 out of range 
Input #0, h264, from 'E:\example_1':
Duration: N/A, bitrate: N/A Stream #0:0: Video: h264 (Main), yuv420p, 704x576, 25 fps, 25 tbr, 1200k tbn, 50 tbc

У меня две маленькие проблемы:

  1. Могу ли я узнать, существует ли в файле конкретная дата (например, 1 января 2014 года)? Могу ли я проанализировать поток метаданных h264?
  2. В потоковом видео циклически отображаются изображения разных камер друг за другом. Можно ли разделить потоковое видео по камерам? Является ли это возможным? Если это возможно, я также хотел бы объединить отдельные клипы камеры в видео одной камеры.

Спасибо

1 ответ1

2

Могу ли я узнать, существует ли в файле конкретная дата (например, 1 января 2014 года)? Могу ли я проанализировать поток метаданных h264?

Нет, потому что поток - это просто битовый поток H.264 с (просто говоря) одним кадром за другим.

Он не содержит метаданных. Если вам нужны метаданные, вам нужен контейнер, например, транспортный поток MPEG-2, который обычно выбирается для потоковой передачи мультимедиа, или файл MP4.

В потоковом видео циклически отображаются изображения разных камер друг за другом. Можно ли разделить потоковое видео по камерам? Является ли это возможным?

Видимо поток использует собственный формат. ffmpeg не может декодировать такое видео с нескольких камер. Обычно поток битов Приложения B H.264 содержит только кадры, которые принадлежат одной и той же последовательности.

Вам придется написать анализатор H.264 (или начать с чего-то вроде h264bitstream) и разделить блоки NAL из потока битов на отдельные потоки битов, по одному на камеру.

Затем, чтобы декодировать его, ваши битовые потоки должны содержать блоки NPS SPS и PPS. В вашем потоке нет ни одного, о чем сообщают ошибки, поскольку кадры ссылаются на SPS/PPS, которые никогда не были объявлены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .