ffmpeg 동작 없이 부품 제거

ffmpeg 동작 없이 부품 제거

네트워크를 통해 RTSP 콘텐츠를 브로드캐스트할 수 있는 IP 보안 카메라(192.168.0.8)가 있습니다.

내 컴퓨터에서 다음 ffmpeg 명령을 사용하여 변경 없이 해당 (RAW) 콘텐츠를 저장할 수 있습니다.

ffmpeg -i "rtsp://192.168.0.8/stream=0.sdp" -acodec copy -vcodec copy test-raw.mp4

또한 즉시 크기를 조정할 수도 있습니다.

ffmpeg -i "rtsp://192.168.0.8/stream=0.sdp" -vf  "scale=640:-1" test640.mp4

그런데 움직임 감지 부분만 포함된 영상만 저장하려면 어떻게 해야 할까요?

ffmpeg를 사용하여 문제를 해결하려고했습니다.장면 전환 필터, 하지만 행운은 없습니다.

내 목표는 누군가가 카메라 근처로 움직일 때 이를 감지하여 비디오 파일에 저장하는 일반적인 비디오 모니터링 솔루션을 갖는 것입니다. 스트림에서 즉시 수행하는 것이 불가능할 수도 있다는 것을 이해하므로 먼저 큰 파일을 저장한 다음 다른 ffmpeg 명령으로 처리하고 모션 감지 부분만 포함하는 새 비디오 파일을 생성하는 것이 좋습니다. 정확히 무엇을 더 조사해야 하는지 조언을 주시면 정말 감사하겠습니다.

내 카메라 스트림이 소리 없이 전송됩니다. 따라서 원본 비디오에서 이미지 세트를 생성한 다음 적절한 이미지를 선택한 다음 이미지에서 새 비디오를 저장할 수 있습니다.

답변1

제가 할 일은 말씀하신 대로 정확하게 수행하고 스트림의 큰 파일을 저장한 다음select FFMPEG 필터예를 들어 scene연속 프레임의 유사성을 비교하는 표현식을 사용합니다 . select=gt(scene\,0.003)숫자가 높을수록 프레임 간의 더 많은 변경 사항이 무시됩니다. 빠른 테스트에서는 처리하는 영상의 종류에 따라 0.00001-0.00005까지 낮게 설정해야 할 수도 있습니다.

그것을 다음과 결합하십시오.setpts 필터, 비디오 프레임의 "시작 시간"을 수정하면 다음과 같은 결과가 됩니다(25fps 비디오의 경우).

ffmpeg -i input.mp4 -vf "select=gt(scene\,0.003),setpts=N/(25*TB)" output.mp4

-vcodec copy비디오 필터를 사용하면 사용할 수 없습니다 .

관련 정보