CCTV의 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
두 가지 작은 문제가 있습니다.
- 파일에 특정 날짜(예: 2014년 1월 1일)가 있는지 알 수 있나요? h264의 메타데이터 스트림을 분석할 수 있나요?
- 스트림 영상에는 서로 다른 카메라의 이미지가 주기적으로 차례로 존재합니다. 카메라를 기준으로 스트림 비디오를 분할할 수 있나요? 가능합니까? 가능하다면 별도의 카메라 클립을 하나의 카메라 비디오로 병합하고 싶습니다.
감사해요
답변1
파일에 특정 날짜(예: 2014년 1월 1일)가 있는지 알 수 있나요? h264의 메타데이터 스트림을 분석할 수 있나요?
아니요. 스트림은 (간단히 말하면) 한 프레임씩 이어지는 H.264 비트스트림이기 때문입니다.
메타데이터가 포함되어 있지 않습니다. 메타데이터를 원할 경우 스트리밍 미디어용으로 일반적으로 선택되는 MPEG-2 전송 스트림이나 MP4 파일과 같은 컨테이너가 필요합니다.
스트림 영상에는 서로 다른 카메라의 이미지가 주기적으로 차례로 존재합니다. 카메라를 기준으로 스트림 비디오를 분할할 수 있나요? 가능합니까?
분명히 스트림은 독점 형식을 사용합니다. ffmpeg는 그러한 종류의 다중 카메라 비디오를 디코딩할 수 없습니다. 일반적으로 H.264 Annex B 비트스트림에는 동일한 시퀀스에 속하는 프레임만 포함됩니다.
H.264 파서를 작성해야 합니다(또는 다음과 같은 것으로 시작해야 합니다).h264bitstream
) 비트스트림의 NAL 단위를 카메라당 하나씩 별도의 비트스트림으로 분할합니다.
그런 다음 이를 디코딩하려면 비트스트림에 다음이 포함되어야 합니다.SPS 및 PPS NAL 장치. 스트림에는 프레임이 선언되지 않은 SPS/PPS를 참조하므로 오류가 알려주는 것이 없습니다.