질문은 gstreamer의 소스로 이미지 데이터 에서 묻는 것과 유사합니다.
내 요구 사항은 다음과 같습니다.
1. 여러 이미지 데이터를 포함하는 바이너리 파일 [확장자로 간주]이 있습니다 [하나의 바이너리 파일에 10 개의 이미지 데이터]
2. 바이너리 파일이 추출되고 이미지 데이터가 Windows의 폴더 위치에 .jpg로 저장되었습니다.
3. 비디오 디스플레이를 위해 아래 파이프 라인을 사용했습니다. gst-launch-1.0 multifilesrc location = ": / Images / % d.jpg"caps = "image / jpeg, framerate = 10 / 5 "! jpegdec! autovideosink ** 이미지 폴더에는 1.jpg, 2.jpg 등으로 시작하는 이름으로 저장된 .jpg 파일이 있습니다.. % d는 경로 시작 인덱스에서 1부터 가장 높은 값 [연속 번호 이미지]까지 이미지를 가져옵니다.
여기까지 모든 것이 괜찮아 보입니다. 이제 요구 사항은 2 단계를 건너 뛰는 것입니다. 즉, 이미지 바이너리 데이터를 물리적 드라이브 경로에 이미지 파일로 저장하기 위해 변환 할 필요가 없습니다. 대신, 바이너리 파일에서 추출 된 바이너리 데이터를 소스 패드로 GStreamer 파이프 라인에 직접 전달하는 것과 같은 것을 찾고 있습니다. 이것이 가능한가 ? 그렇다면 파이프 라인의 소스 패드를 어떻게 작성해야합니까?
이유 : 바이너리 파일에 32GB의 데이터가 있습니다 [이는 바이너리 파일로 압축 된 웹캠 이미지입니다]. 따라서 이러한 데이터를 이미지 형식으로 다시 저장하면 드라이브에 32GB의 추가 공간이 필요합니다. . 이미 바이너리 형식의 이미지 데이터가 있으므로 이러한 바이너리 데이터 [C 프로그래밍의 버퍼 형태]를 GStreamer 파이프 라인 소스로 직접 전달하는 메커니즘이 필요합니다.
참고 : gstreamer 1.0은 Windows OS에서 사용됩니다.
첫 번째 질문은 정확한 목적을 위해 비디오 데이터를 비디오 파일 형식으로 저장하지 않는 이유입니다.
.NET Framework를 사용하여 GStreamer 애플리케이션을 작성할 수 있습니다 appsrc
. 그런 다음 2 단계에서와 마찬가지로 응용 프로그램에서) 데이터를 구문 분석을 통해 이미지 덩어리를 공급해야 appsrc
받는 사람 jpegdec
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다