카메라에서 rtsp 스트림을 캡처하고 flv로 작성하기 위해 ffmpeg 라이브러리를 코드에 사용합니다. 한 카메라에서만 스트림을 캡처하면 카메라에 비디오 스트림 만 있고 오류가 없으면 첫 번째 패킷에 pts와 dts가 있고 1698557894 및 기타 패킷에는 pts 및 dts가 서서히 증가합니다. 그러나 카메라에 비디오 및 오디오 스트림이 있으면 이상한 일이 발생합니다. 예를 들어, 비디오 패킷 pts 및 dts는 1698557894로 시작하여 서서히 증가하고 오디오는 0으로 시작한 다음 천천히 증가하고 ~ 50 패킷이 값 151004317로 점프하고 천천히 증가합니다. 오디오가 0에서 천천히 증가하고 비디오가 1785662594에서 시작하고 ~ 70 패킷이 234722로 점프하고 천천히 증가하는 또 다른 상황입니다. 이러한 동작은 flv 세그먼트 muxer가 파일을 쓰는 것을 허용하지 않으며, 그냥 EINVAL 값을 반환합니다.카메라의 점과 dts 점프 문제
또한 두 카메라에서 스트림을 캡처하려고하면 첫 번째 카메라에는 비디오 만 있고 다른 카메라에는 비디오 및 오디오가 있으며 첫 번째 카메라 패킷의 pts 및 dts는 정상입니다. 그러나 다른 카메라는 비디오 및 오디오 pts/dts 값이 매우 다릅니다. av_read_frame은 pts/dts 값이 1811924055 인 비디오 패킷을 반환하며 flv muxer에서는 557003451로 다시 조정되고 557003451로 다시 조정되는 오디오는 4456027604이지만이 값은 거의 같아야합니다!
그래서 질문은 다음과 같습니다. 0) 캡처 시작 부분에서 이러한 점프가 발생하는 이유는 무엇입니까? 카메라에 문제가 있거나 그냥 ffmpeg 문제일까요? 1) 오랜 기간 후에 이러한 점프가 발생할 수 있습니까? 어떻게 처리해야합니까? 2) 카메라의 비디오와 오디오의 pts/dts 값이 다른 이유는 무엇입니까?